PDF to Word layout test: columns, tables, images, and orientation

A controlled two-page PDF asked the converter to infer editable structure from positioned text, drawn rules, one raster image, two columns, and a landscape matrix. The result retained the content but added a page and moved one block.

Controlled test result

Core content survived, but the two-page PDF became a three-page DOCX

SourceTwo pages: portrait, then landscape
Rendered DOCXThree pages: two portrait, then landscape
Structure inferredThree Word tables, one inline image, four sections
Sentinel checkL-101, R-201, and LAYOUT-END-8842 all remained in the DOCX XML

What the fixture tested

Page one contains two visually separated text columns, a ruled 3 x 4 matrix, an embedded 1600 x 1067 image, and caption text beside that image. Page two changes to landscape and contains a wide 4 x 7 matrix with unique cell markers. The PDF is 863,569 bytes, contains 121 extracted words on page one and 44 on page two, and uses Helvetica, Helvetica Bold, Courier, and Times Roman.

The fixture was generated with PyMuPDF 1.28.0, converted through the current Converttwo PDF-to-Word endpoint with pdf2docx 0.5.13, inspected as OOXML, and rendered with LibreOffice 26.2.5.2. The output DOCX is 885,912 bytes. The repository’s deployment dependency remains pinned to pdf2docx 0.5.8, so this report identifies the exact local test environment rather than implying byte-identical results everywhere.

Page one retained columns, table, and image, but moved the caption

Source PDF page 1: image and caption share the lower row
Rendered DOCX page 1: columns, table, and image remain; caption moved

The left-column and right-column sentinel strings remained, and visual reading order was still left then right. The ruled matrix became an editable table. The image remained present and moved approximately 9 points right and 5 points upward. Its caption did not disappear: it flowed to the new second portrait page.

The landscape matrix stayed landscape after an inserted page

Source page 2: landscape matrix
Rendered DOCX page 2: moved caption text on a mostly blank portrait page
Rendered DOCX page 3: landscape matrix and final sentinel retained

The landscape page’s width and height remained 792 x 612 points, but it became page three. The matrix content remained in its original row-major order. The bottom border of the reconstructed matrix was not visible in the rendered DOCX, which is another reason to inspect table edges instead of checking only text.

Measured source and output

Structural and rendered measurements
CheckSource PDFConverted DOCX or rendering
File size863,569 bytes885,912-byte DOCX; 134,627-byte comparison PDF
Page countTwoThree after rendering
Page geometry612 x 792 pt; 792 x 612 pt612 x 792 pt; 612 x 792 pt; 792 x 612 pt
Text165 extracted words across two pages165 extracted words across three rendered pages
DOCX structureFixed PDF objects14 paragraphs, three tables, one inline image, four sections, 1,032 text characters
Page-one visual differenceReference14.57% of pixels changed at 108 ppi; mean absolute channel error 9.774

Downloads, interpretation, and limits

This result is useful when editability matters more than fixed pagination: text, matrices, image, page orientation, and unique markers were recoverable. It is not a faithful two-page replacement because the caption’s movement changed pagination and the landscape table lost a visible edge. Retain the PDF as the visual reference and treat the DOCX as an editable draft.

Limit of this test

The generated PDF uses clean common fonts and deliberate spacing. It does not contain footnotes, forms, equations, transparency groups, floating PDF annotations, or damaged objects. One conversion cannot predict every layout, and the local test dependency differs from the production pin.

Convert for editing, then compare

Review page count, moved blocks, orientation, table edges, and reading order before using the DOCX.

Open PDF to Word

Related evidence and guidance