High-performance C++ rewrite of the docpdf application using Qt6 for maximum speed and native performance.
- Native C++ performance
- Modern Qt6 GUI
- Threaded conversions (non-blocking UI)
- Progress tracking
- Cross-platform compatibility
- Dependency-Free: Uses internal PDF and DOCX processing (no LibreOffice or Poppler required)
- Single executable deployment ready
Download the latest release from the Releases page:
- Windows:
docpdf-windows-x64.zip - Linux:
docpdf-linux-x64.AppImage - macOS:
docpdf-macos-x64.dmg
To build locally, you need:
- Qt6 (Core, Widgets, PrintSupport)
- CMake 3.16+
- C++17 compiler (MSVC, GCC, or Clang)
mkdir build && cd build
cmake .. -DCMAKE_PREFIX_PATH="path/to/qt6"
cmake --build . --config ReleaseThe application uses internal conversion logic to avoid external dependencies:
- Uses internal XML parsing to read DOCX structure.
- Renders to PDF using Qt's
QPdfWriter. - Preserves text, paragraphs, and basic formatting.
- Uses internal stream decompression (via
miniz) to read PDF content. - Extracts text and attempts to map characters (including basic CMap support).
- Writes native
.docxfiles.
Compared to the Python version:
- Startup time: ~50ms vs ~2000ms
- Memory usage: ~15MB vs ~50MB
- Conversion speed: significantly faster (no external process launch overhead)
- Deployment: Simply copy the executable (and Qt DLLs) - no external tools needed.
After building, copy the executable and required Qt DLLs:
windeployqt.exe docpdf.exeThis creates a standalone deployment folder with all dependencies.