Command-line tool for batch converting Word (.doc/.docx) files to PDF, supporting multiple conversion engines: Microsoft Word (win32com), docx2pdf, and LibreOffice (soffice).
- Supports batch and recursive directory scanning
- Automatically selects available conversion engine (priority: win32com, then docx2pdf, then soffice)
- Supports overwriting existing PDF files
- Windows compatible; some features require Microsoft Word or LibreOffice
- Detailed error messages and logs
- Python 3.7+
- Recommended installations:
pywin32(for calling local Word on Windows)docx2pdf(requires local Word installation)LibreOffice(soffice, cross-platform)
Install dependencies:
pip install -r requirements.txtpython batch_docx_to_pdf.py <input_dir> [options]input_dir: Directory containing Word files to convert-o, --output: Output directory (default: _pdf_output in input directory)-r, --recursive: Recursively scan subdirectories-f, --force: Overwrite existing PDF files--engine: Specify conversion engine (auto/win32/docx2pdf/soffice)--visible: For debugging, make Word visible (win32 engine)--no-fallback: Do not fallback to docx2pdf if win32 fails--method: win32 save method (auto/saveas/export)--soffice: Specify soffice path
python batch_docx_to_pdf.py ./docs -r -fpywin32: For win32com to call Worddocx2pdf: Simple solution for Word to PDFLibreOffice: soffice command-line conversion
This project is licensed under the MIT License.