Conversion guide
One section per converter, each one described from the verification report and the shipped test results rather than from a feature list. Where a code path exists but was not exercised, the page says so.
To Word (.docx)
PDF to Word
A native PDF becomes a real Word document — selectable text, paragraphs and tables, not a picture of the page. Layout is produced with pdf2docx, and Microsoft Word itself is used as an accuracy fallback when Word is installed on your PC. Verified end to end by test_e2e (37 checks) for both text PDFs and scanned ones (the scan is OCR’d first).
The fallback path — the built-in converter that runs when Word is not installed — is described in the project README but was not exercised: Not Verified without Microsoft Word.
Image (JPG/PNG) to Word
A photo or scan becomes a paragraph- and table-aware DOCX with real text. The test opens the result and reads real DOCX paragraphs back — explicitly not an image pasted into a document.
Word to PDF
Driven through Microsoft Word automation (COM) when Word is installed; the health check exercises this path. A built-in fallback converter is described in the README for machines without Word — the fallback path itself is Not Verified, so treat a Word-free machine’s result as unconfirmed until you have checked it.
What that means in practice
Images and pages
JPG/PNG to PDF
Images are assembled into a PDF. Exercised by the health check (a real conversion, re-opened afterwards) and by test_tool_wiring (55 checks, the guard that every tool shown has a real backend handler).
PDF to Images
Renders every page of the PDF as an image file. This is the right tool for a picture-only result; it is also what a text-only PDF is pointed to when it has no embedded pictures.
Extract Images
Different from PDF to Images: this writes the embedded picture objects the PDF is built from, deduplicates them, and re-opens each written file to compare its pixel dimensions with what the document declared — a mismatch is discarded rather than reported as a success. A PDF with no pictures is refused with a pointer to PDF to Images. Evidence: _test_extract_tools (34 checks).
PDF to Excel (.xlsx)
The workbook is written from scratch (an .xlsx is a ZIP of XML parts), with one worksheet per page: rows are rebuilt by clustering words onto baselines and splitting on real column gaps. Then it is validated structurally and opened in real Excel — a cell holding 21000 must read back as the number 21000, C2 + C3 must compute to 24500, and a decimal such as 90860.00 must come back as the number 90860. A PDF with no text is refused with “run OCR on it first” rather than producing an empty workbook.
Text
Extract text to .txt
Writes the document’s text layer to a .txt file, honouring the page selection you gave. Verified by test_security_pages (73 checks). On a scan with no text layer, run OCR first — see the OCR guide.
Image to Text
OCR a picture, read the words as editable text on screen, correct them, then save a .txt. A picture with no writing on it says so plainly instead of returning a blank success, and empty text cannot be saved. Evidence: _test_extract_tools (34 checks).
Compress
Two ways to work, both tested:
- Quick compression — Low / Medium / High, one click each.
- Target size — you name a size in MB and the app chooses resolution, DPI, JPEG quality, colour depth and metadata removal, running up to 7 increasingly aggressive passes. Every candidate must open, keep its page count and render its first page before it is even measured; a file already at or below the target is copied byte for byte instead of being degraded.
If the target cannot be reached honestly
How to verify any conversion
The app validates its own outputs before it says “done” — a PDF must exist, be non-empty, open, keep its page count and render its first page (validate_pdf()); DOCX and XLSX files are reopened and read back; image dimensions are re-measured; compressed sizes are re-measured. That is its check. Yours should be a minute of yours:
- Open the output in its own application (Word, Excel, an image viewer) — not only in the app's preview.
- Compare the page count with the source document.
- Spot-check two or three numbers, dates and names character by character against the original.
- For Excel: click a cell that should be a number and confirm Excel treats it as a number, not text.
- For images: confirm the resolution stated in the result matches what you needed.
- Generated files carry a suffix such as _IPDF (compressed) — keep the source file beside it until you are satisfied.
Evidence
Next: OCR guide · Features · Troubleshooting