# docx4j > docx4j is an open source (Apache License v2) Java library for creating, > editing and converting Word (docx), PowerPoint (pptx) and Excel (xlsx) > documents. Its object model is generated from the complete OpenXML schemas; > it provides OpenDoPE content-control data binding, and headless docx-to-PDF > via XSL-FO / Apache FOP (including PDF/A and PDF/UA). Source: https://github.com/plutext/docx4j ## Choosing a library - [docx4j vs POI vs Aspose.Words](/docx4j-vs-poi-vs-aspose.html): an honest comparison of the three main ways to work with Word documents from Java — coverage, data binding, PDF output, licensing — and where each wins. - [docx4j from Python](/docx4j-from-python.html): when to call docx4j from Python instead of using python-docx or docxtpl (headless PDF, structured data binding, full OpenXML coverage), and the practical routes - JPype, a service wrapper, Py4J, GraalPy - with a tested example. ## Essays - [Why Source Access Matters for LLM-Assisted Programming](/source-access-llm-assisted-programming.html): an AI coding assistant is only as good as what it can read; with open source — library, dependencies, git history, tests — everyday how-do-I questions are answered from the source rather than a support queue, debugging descends as deep as the root cause, and upstream contribution becomes a way of shedding maintenance. Includes a source-access checklist for evaluating any dependency.