--- title: "Best Open-Source Libraries for PDF to Markdown Conversion" type: "Ranking" url: "https://aidemos.com/best/pdf-to-markdown-libraries" description: "We tested five open-source PDF-to-Markdown libraries on the same three mixed PDFs — a hybrid annual report, a table-heavy financial filing, and a scanned research paper — to compare text preservation, table reconstruction, chart handling, image retention, reading order, and OCR behavior." readTime: "12 min read" tested: "docling vs liteparse vs pymupdf4llm vs doc2mark vs markitdown" category: "developer-tools" published: "2026-07-21T07:41:11.676958+00:00" updated: "2026-07-27T05:58:31.091083+00:00" evidenceCount: 140 verifiedCount: 0 coverage: "partial" --- # Best Open-Source Libraries for PDF to Markdown Conversion `5 tools tested` · `3 PDFs tested` · `Open source` · `Financial tables` · `Scanned OCR` · `Markdown output` **Tested:** docling vs liteparse vs pymupdf4llm vs doc2mark vs markitdown > We tested five open-source PDF-to-Markdown libraries on the same three mixed PDFs — a hybrid annual report, a table-heavy financial filing, and a scanned research paper — to compare text preservation, table reconstruction, chart handling, image retention, reading order, and OCR behavior. ## Our Verdict **#1 pick: docling** (Usable) — The strongest overall open-source option here: it kept text, tables, headings, and reading order very well across all three PDFs, but it still dropped charts and standalone images. - #2 liteparse — Reliable on native-digital prose and document structure, but weak on table fidelity and scans. - #3 pymupdf4llm — Strong on clean digital text and tables, but brittle on charts, images, and scanned layouts. - #4 doc2mark — Good for native-digital prose and headings, but weak on tables, images, and any scanned input; its table output is especially inconsistent. - #5 markitdown — Fast at pulling plain text from native PDFs, but structural parsing is uneven and scanned PDFs are not handled without external OCR. ## How We Tested Each library was run on the same three benchmark PDFs: a hybrid Target annual report with charts and signatures, a Sumitomo Heavy Industries financial report with dense tables and disclosures, and an image-only scanned research paper with figures, tables, captions, and multi-column text. The outputs were compared page by page for text fidelity, table structure, chart handling, image retention, reading order, heading hierarchy, caption/footnote attachment, and long-document robustness. **What we evaluated:** | Criterion | Description | | --- | --- | | Chart Reconstruction | Measures whether charts are preserved as structured data, faithful descriptive text, or coherent extracted values, rather than being dropped, fragmented, or misclassified as tables. | | Text Preservation | Measures whether all readable content is extracted, including scanned pages, without silent omission or garbling. | | Table Reconstruction | Measures whether rows, columns, headers, including multi-row or multi-level headers, and merged cells are rendered as structurally valid tables with correct header-to-value association. | | Document Hierarchy | Measures whether headings and sectioning are preserved as genuine markdown heading levels instead of being flattened to plain text. | | Image Retention | Measures whether embedded images, logos, and figures are retained and placed in the correct reading position rather than being dropped entirely. | | Reading Order Preservation | Measures whether headings, sections, and multi-column text stay in the correct logical sequence. | | Caption/Figure Association | Measures whether captions and footnotes stay adjacent to and correctly linked with their corresponding table or figure instead of being orphaned or detached. | | Long/Complex Document Robustness | Measures whether output quality stays consistent across a long, dense document rather than degrading with length or complexity. | | Bonus: Unique or Anomalous Behaviors | Captures distinctive tool-specific behavior worth noting, positive or negative, that does not fit the main criteria. | ## Evidence (first-party, tested) *140 tested cells · 0/140 artifact-verified. Scores are out of 5. Cite a cell by its Evidence ID, e.g. `ev:doc2mark·cross·bonus-unique-or-anomalous-behaviors`.* | Tool | Criterion | Scenario | Verdict | Score | Tested | Proof | Evidence ID | | --- | --- | --- | --- | --- | --- | --- | --- | | doc2mark | Bonus: Unique or Anomalous Behaviors | cross-scenario | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-financial-c220a901c5d4.png) | `ev:doc2mark·cross·bonus-unique-or-anomalous-behaviors` | | doc2mark | Bonus: Unique or Anomalous Behaviors | Target 2015 annual report | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-output-74fb906e225f.md) | `ev:doc2mark·target-2015-annual-report·bonus-unique-or-anomalous-behaviors` | | doc2mark | Caption/Figure Association | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-footnotes-854f2847c018.png) | `ev:doc2mark·target-2015-annual-report·caption-figure-association` | | doc2mark | Caption/Figure Association | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input2-financialpdf-corporate-i-301fb7db68cf.png) | `ev:doc2mark·sumitomo-heavy-industries-consolidated-financial-report·caption-figure-association` | | doc2mark | Chart Reconstruction | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-financial-b1c17d714075.png) | `ev:doc2mark·target-2015-annual-report·chart-reconstruction` | | doc2mark | Chart Reconstruction | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input2-financialpdf-corporate-i-301fb7db68cf.png) | `ev:doc2mark·sumitomo-heavy-industries-consolidated-financial-report·chart-reconstruction` | | doc2mark | Chart Reconstruction | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input3-scannedpaper-output-8e732aee85e6.md) | `ev:doc2mark·scanned-research-paper·chart-reconstruction` | | doc2mark | Document Hierarchy | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-item-1-he-38ddac99277d.png) | `ev:doc2mark·target-2015-annual-report·document-hierarchy` | | doc2mark | Document Hierarchy | Sumitomo Heavy Industries consolidated financial report | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input2-financialpdf-changes-hea-158cb7fd197a.png) | `ev:doc2mark·sumitomo-heavy-industries-consolidated-financial-report·document-hierarchy` | | doc2mark | Document Hierarchy | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input3-scannedpaper-output-8e732aee85e6.md) | `ev:doc2mark·scanned-research-paper·document-hierarchy` | | doc2mark | Image Retention | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-logo-pars-0a86f806447d.png) | `ev:doc2mark·target-2015-annual-report·image-retention` | | doc2mark | Image Retention | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input2-financialpdf-corporate-i-301fb7db68cf.png) | `ev:doc2mark·sumitomo-heavy-industries-consolidated-financial-report·image-retention` | | doc2mark | Image Retention | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input3-scannedpaper-output-8e732aee85e6.md) | `ev:doc2mark·scanned-research-paper·image-retention` | | doc2mark | Long/Complex Document Robustness | cross-scenario | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-output-74fb906e225f.md) | `ev:doc2mark·cross·long-complex-document-robustness` | | doc2mark | Long/Complex Document Robustness | Target 2015 annual report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-financial-e9fa1da2c709.png) | `ev:doc2mark·target-2015-annual-report·long-complex-document-robustness` | | doc2mark | Long/Complex Document Robustness | Sumitomo Heavy Industries consolidated financial report | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input2-financialpdf-corporate-i-301fb7db68cf.png) | `ev:doc2mark·sumitomo-heavy-industries-consolidated-financial-report·long-complex-document-robustness` | | doc2mark | Long/Complex Document Robustness | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input3-scannedpaper-output-8e732aee85e6.md) | `ev:doc2mark·scanned-research-paper·long-complex-document-robustness` | | doc2mark | Reading Order Preservation | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input2-financialpdf-toc-parsed--acf5cca54e00.png) | `ev:doc2mark·sumitomo-heavy-industries-consolidated-financial-report·reading-order-preservation` | | doc2mark | Reading Order Preservation | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-growth-se-bb3d65c0896b.png) | `ev:doc2mark·target-2015-annual-report·reading-order-preservation` | | doc2mark | Reading Order Preservation | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input3-scannedpaper-output-8e732aee85e6.md) | `ev:doc2mark·scanned-research-paper·reading-order-preservation` | | doc2mark | Table Reconstruction | Sumitomo Heavy Industries consolidated financial report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input2-financialpdf-business-re-0edbde7b34e7.png) | `ev:doc2mark·sumitomo-heavy-industries-consolidated-financial-report·table-reconstruction` | | doc2mark | Table Reconstruction | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-financial-2c77c1292340.png) | `ev:doc2mark·target-2015-annual-report·table-reconstruction` | | doc2mark | Table Reconstruction | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input3-scannedpaper-output-8e732aee85e6.md) | `ev:doc2mark·scanned-research-paper·table-reconstruction` | | doc2mark | Text Preservation | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input2-financialpdf-disclaimer--a898e3623ccd.png) | `ev:doc2mark·sumitomo-heavy-industries-consolidated-financial-report·text-preservation` | | doc2mark | Text Preservation | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input3-scannedpaper-output-8e732aee85e6.md) | `ev:doc2mark·scanned-research-paper-int-1983-07-issue-333-image-only·text-preservation` | | doc2mark | Text Preservation | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-general-s-f33dbe725785.png) | `ev:doc2mark·target-2015-annual-report·text-preservation` | | doc2mark | Text Preservation | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input3-scannedpaper-output-8e732aee85e6.md) | `ev:doc2mark·scanned-research-paper·text-preservation` | | docling | Bonus: Unique or Anomalous Behaviors | cross-scenario | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input2-financialpdf-business-res-0184d0ef1462.png) | `ev:docling·cross·bonus-unique-or-anomalous-behaviors` | | docling | Bonus: Unique or Anomalous Behaviors | Scanned research paper | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-title-83e90d0ce2bd.png) | `ev:docling·scanned-research-paper·bonus-unique-or-anomalous-behaviors` | | docling | Caption/Figure Association | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-table-1-capt-909333c64136.png) | `ev:docling·scanned-research-paper-int-1983-07-issue-333-image-only·caption-figure-association` | | docling | Caption/Figure Association | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input1-hybridearnings-financial--d709c2e317ff.png) | `ev:docling·target-2015-annual-report·caption-figure-association` | | docling | Caption/Figure Association | Scanned research paper | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-table-1-capt-909333c64136.png) | `ev:docling·scanned-research-paper·caption-figure-association` | | docling | Caption/Figure Association | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input2-financialpdf-output-7a57d38ce9f7.md) | `ev:docling·sumitomo-heavy-industries-consolidated-financial-report·caption-figure-association` | | docling | Chart Reconstruction | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-figure-1-73915db3bca7.png) | `ev:docling·scanned-research-paper-int-1983-07-issue-333-image-only·chart-reconstruction` | | docling | Chart Reconstruction | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input1-hybridearnings-financial--72b5ec6b6a99.png) | `ev:docling·target-2015-annual-report·chart-reconstruction` | | docling | Document Hierarchy | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-stand-prescr-53d7877cb1e2.png) | `ev:docling·scanned-research-paper-int-1983-07-issue-333-image-only·document-hierarchy` | | docling | Document Hierarchy | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input2-financialpdf-fy2025-heade-ced3e07cca5a.png) | `ev:docling·sumitomo-heavy-industries-consolidated-financial-report·document-hierarchy` | | docling | Document Hierarchy | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input1-hybridearnings-item-heade-cccf3d47ff6c.png) | `ev:docling·target-2015-annual-report·document-hierarchy` | | docling | Document Hierarchy | Scanned research paper | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-stand-prescr-53d7877cb1e2.png) | `ev:docling·scanned-research-paper·document-hierarchy` | | docling | Image Retention | cross-scenario | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input1-hybridearnings-ceo-sign-o-f9611e82f578.png) | `ev:docling·cross·image-retention` | | docling | Long/Complex Document Robustness | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input2-financial-pdf-demo-ef39f3ec0688.mp4) | `ev:docling·sumitomo-heavy-industries-consolidated-financial-report·long-complex-document-robustness` | | docling | Long/Complex Document Robustness | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input1-hybridearnings-demo-719b2e70177b.mp4) | `ev:docling·target-2015-annual-report·long-complex-document-robustness` | | docling | Long/Complex Document Robustness | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-page-1-c134dc43dcd8.png) | `ev:docling·scanned-research-paper-int-1983-07-issue-333-image-only·long-complex-document-robustness` | | docling | Long/Complex Document Robustness | Scanned research paper | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-demo-641e9edba35d.mp4) | `ev:docling·scanned-research-paper·long-complex-document-robustness` | | docling | Reading Order Preservation | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input2-financialpdf-summary-sect-b346eab2546e.png) | `ev:docling·sumitomo-heavy-industries-consolidated-financial-report·reading-order-preservation` | | docling | Reading Order Preservation | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-page-1-c134dc43dcd8.png) | `ev:docling·scanned-research-paper-int-1983-07-issue-333-image-only·reading-order-preservation` | | docling | Reading Order Preservation | Target 2015 Annual Report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-hybridearnings-brand-list-7f2f587762ac.png) | `ev:docling·target-2015-annual-report·reading-order-preservation` | | docling | Reading Order Preservation | Scanned research paper | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-page-1-c134dc43dcd8.png) | `ev:docling·scanned-research-paper·reading-order-preservation` | | docling | Table Reconstruction | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-table-1-2d6b17419789.png) | `ev:docling·scanned-research-paper-int-1983-07-issue-333-image-only·table-reconstruction` | | docling | Table Reconstruction | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input1-hybridearnings-financial--c3595e6b8b94.png) | `ev:docling·target-2015-annual-report·table-reconstruction` | | docling | Table Reconstruction | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input2-financialpdf-quarterly-ta-8cc20f94218c.png) | `ev:docling·sumitomo-heavy-industries-consolidated-financial-report·table-reconstruction` | | docling | Table Reconstruction | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-table-4-e7ec97aed5ce.png) | `ev:docling·scanned-research-paper·table-reconstruction` | | docling | Text Preservation | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-title-83e90d0ce2bd.png) | `ev:docling·scanned-research-paper-int-1983-07-issue-333-image-only·text-preservation` | | docling | Text Preservation | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input2-financialpdf-introductory-c4f90494f303.png) | `ev:docling·sumitomo-heavy-industries-consolidated-financial-report·text-preservation` | | docling | Text Preservation | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input1-hybridearnings-item-heade-cccf3d47ff6c.png) | `ev:docling·target-2015-annual-report·text-preservation` | | docling | Text Preservation | Scanned research paper | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-title-83e90d0ce2bd.png) | `ev:docling·scanned-research-paper·text-preservation` | | liteparse | Bonus: Unique or Anomalous Behaviors | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-figure-1-p-0889fd0f8c98.png) | `ev:liteparse·scanned-research-paper-int-1983-07-issue-333-image-only·bonus-unique-or-anomalous-behaviors` | | liteparse | Bonus: Unique or Anomalous Behaviors | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | — | `ev:liteparse·sumitomo-heavy-industries-consolidated-financial-report·bonus-unique-or-anomalous-behaviors` | | liteparse | Caption/Figure Association | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-figure-1-c-b7bd20fc3ee7.png) | `ev:liteparse·scanned-research-paper-int-1983-07-issue-333-image-only·caption-figure-association` | | liteparse | Caption/Figure Association | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input1-hybridearnings-financia-115bbb1531ee.png) | `ev:liteparse·target-2015-annual-report·caption-figure-association` | | liteparse | Caption/Figure Association | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | — | `ev:liteparse·sumitomo-heavy-industries-consolidated-financial-report·caption-figure-association` | | liteparse | Caption/Figure Association | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-figure-1-c-b7bd20fc3ee7.png) | `ev:liteparse·scanned-research-paper·caption-figure-association` | | liteparse | Chart Reconstruction | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-figure-1-a7561d92738f.png) | `ev:liteparse·scanned-research-paper-int-1983-07-issue-333-image-only·chart-reconstruction` | | liteparse | Chart Reconstruction | Target 2015 annual report | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input1-hybridearnings-comparis-90c5c5a2cde6.png) | `ev:liteparse·target-2015-annual-report·chart-reconstruction` | | liteparse | Chart Reconstruction | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-figure-1-a7561d92738f.png) | `ev:liteparse·scanned-research-paper·chart-reconstruction` | | liteparse | Document Hierarchy | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input2-financialpdf-summary-se-cf06ecd072b7.png) | `ev:liteparse·sumitomo-heavy-industries-consolidated-financial-report·document-hierarchy` | | liteparse | Document Hierarchy | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-title-dc51b9e3b75a.png) | `ev:liteparse·scanned-research-paper-int-1983-07-issue-333-image-only·document-hierarchy` | | liteparse | Document Hierarchy | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-title-dc51b9e3b75a.png) | `ev:liteparse·scanned-research-paper·document-hierarchy` | | liteparse | Image Retention | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-usda-logo-cb099f8b3eb1.png) | `ev:liteparse·scanned-research-paper-int-1983-07-issue-333-image-only·image-retention` | | liteparse | Image Retention | Target 2015 Annual Report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input1-hybridearnings-scanned--3e642441dafd.png) | `ev:liteparse·target-2015-annual-report·image-retention` | | liteparse | Image Retention | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-usda-logo-cb099f8b3eb1.png) | `ev:liteparse·scanned-research-paper·image-retention` | | liteparse | Image Retention | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input2-financialpdf-logo-c042d6730517.png) | `ev:liteparse·sumitomo-heavy-industries-consolidated-financial-report·image-retention` | | liteparse | Long/Complex Document Robustness | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input2-financialpdf-output-3eec79642702.md) | `ev:liteparse·sumitomo-heavy-industries-consolidated-financial-report·long-complex-document-robustness` | | liteparse | Long/Complex Document Robustness | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-output-873572e46fe0.md) | `ev:liteparse·scanned-research-paper-int-1983-07-issue-333-image-only·long-complex-document-robustness` | | liteparse | Long/Complex Document Robustness | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input1-hybridearnings-liquidit-9fd2d0bf02b8.png) | `ev:liteparse·target-2015-annual-report·long-complex-document-robustness` | | liteparse | Long/Complex Document Robustness | Scanned research paper | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-table-5-a807b9cbc1bf.png) | `ev:liteparse·scanned-research-paper·long-complex-document-robustness` | | liteparse | Reading Order Preservation | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input1-hybridearnings-ceo-lett-e483be4c8d90.png) | `ev:liteparse·target-2015-annual-report·reading-order-preservation` | | liteparse | Reading Order Preservation | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-pointer-c9263c9a684d.png) | `ev:liteparse·scanned-research-paper-int-1983-07-issue-333-image-only·reading-order-preservation` | | liteparse | Reading Order Preservation | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input2-financialpdf-toc-e123b427a6f6.png) | `ev:liteparse·sumitomo-heavy-industries-consolidated-financial-report·reading-order-preservation` | | liteparse | Reading Order Preservation | Scanned research paper | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-pointer-c9263c9a684d.png) | `ev:liteparse·scanned-research-paper·reading-order-preservation` | | liteparse | Table Reconstruction | Target 2015 Annual Report | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input1-hybridearnings-financia-b2b82fa494ae.png) | `ev:liteparse·target-2015-annual-report·table-reconstruction` | | liteparse | Table Reconstruction | Sumitomo Heavy Industries consolidated financial report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input2-financialpdf-liabilitie-feb427dc3fe4.png) | `ev:liteparse·sumitomo-heavy-industries-consolidated-financial-report·table-reconstruction` | | liteparse | Table Reconstruction | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-table-6-2c762e1c4358.png) | `ev:liteparse·scanned-research-paper-int-1983-07-issue-333-image-only·table-reconstruction` | | liteparse | Table Reconstruction | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-table-1-4f19501439e0.png) | `ev:liteparse·scanned-research-paper·table-reconstruction` | | liteparse | Text Preservation | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input2-financialpdf-disclaimer-502f02b4b9cc.png) | `ev:liteparse·sumitomo-heavy-industries-consolidated-financial-report·text-preservation` | | liteparse | Text Preservation | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-superscrip-ef6f850e65a2.png) | `ev:liteparse·scanned-research-paper-int-1983-07-issue-333-image-only·text-preservation` | | liteparse | Text Preservation | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input1-hybridearnings-ceo-lett-4f3299bff3d5.png) | `ev:liteparse·target-2015-annual-report·text-preservation` | | liteparse | Text Preservation | Scanned research paper | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-superscrip-ef6f850e65a2.png) | `ev:liteparse·scanned-research-paper·text-preservation` | | markitdown | Bonus: Unique or Anomalous Behaviors | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input3-scannedpaper-output-4b7a22c40885.md) | `ev:markitdown·scanned-research-paper-int-1983-07-issue-333-image-only·bonus-unique-or-anomalous-behaviors` | | markitdown | Bonus: Unique or Anomalous Behaviors | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input2-financialpdf-output-1b08db40e794.md) | `ev:markitdown·sumitomo-heavy-industries-consolidated-financial-report·bonus-unique-or-anomalous-behaviors` | | markitdown | Bonus: Unique or Anomalous Behaviors | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input3-scannedpaper-output-4b7a22c40885.md) | `ev:markitdown·scanned-research-paper·bonus-unique-or-anomalous-behaviors` | | markitdown | Caption/Figure Association | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input1-hybridearnings-financi-2cb55db8537b.png) | `ev:markitdown·target-2015-annual-report·caption-figure-association` | | markitdown | Caption/Figure Association | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input3-scannedpaper-output-4b7a22c40885.md) | `ev:markitdown·scanned-research-paper·caption-figure-association` | | markitdown | Caption/Figure Association | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input2-financialpdf-segment-t-1f6408df9a4e.png) | `ev:markitdown·sumitomo-heavy-industries-consolidated-financial-report·caption-figure-association` | | markitdown | Chart Reconstruction | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input1-hybridearnings-financi-4a794b289971.png) | `ev:markitdown·target-2015-annual-report·chart-reconstruction` | | markitdown | Chart Reconstruction | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input3-scannedpaper-output-4b7a22c40885.md) | `ev:markitdown·scanned-research-paper·chart-reconstruction` | | markitdown | Chart Reconstruction | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input2-financialpdf-segment-t-1f6408df9a4e.png) | `ev:markitdown·sumitomo-heavy-industries-consolidated-financial-report·chart-reconstruction` | | markitdown | Document Hierarchy | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input1-hybridearnings-item-1--d3a3bb4b903b.png) | `ev:markitdown·target-2015-annual-report·document-hierarchy` | | markitdown | Document Hierarchy | Sumitomo Heavy Industries consolidated financial report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input2-financialpdf-summary-s-186c31156860.png) | `ev:markitdown·sumitomo-heavy-industries-consolidated-financial-report·document-hierarchy` | | markitdown | Document Hierarchy | Scanned research paper | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input3-scannedpaper-output-4b7a22c40885.md) | `ev:markitdown·scanned-research-paper·document-hierarchy` | | markitdown | Image Retention | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input1-hybridearnings-logo-66f284f61dfa.png) | `ev:markitdown·target-2015-annual-report·image-retention` | | markitdown | Long/Complex Document Robustness | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input2-financialpdf-output-1b08db40e794.md) | `ev:markitdown·sumitomo-heavy-industries-consolidated-financial-report·long-complex-document-robustness` | | markitdown | Long/Complex Document Robustness | Target 2015 Annual Report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input1-hybridearnings-output-70f5b1faf73c.md) | `ev:markitdown·target-2015-annual-report·long-complex-document-robustness` | | markitdown | Reading Order Preservation | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input1-hybridearnings-welcome-45486a1edb7c.png) | `ev:markitdown·target-2015-annual-report·reading-order-preservation` | | markitdown | Reading Order Preservation | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input2-financialpdf-toc-parse-177208e25aad.png) | `ev:markitdown·sumitomo-heavy-industries-consolidated-financial-report·reading-order-preservation` | | markitdown | Table Reconstruction | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input1-hybridearnings-propert-3ecbdf082a20.png) | `ev:markitdown·target-2015-annual-report·table-reconstruction` | | markitdown | Table Reconstruction | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input2-financialpdf-business--27b520ba2b9c.png) | `ev:markitdown·sumitomo-heavy-industries-consolidated-financial-report·table-reconstruction` | | markitdown | Text Preservation | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input1-hybridearnings-target--0e9f2a1f3364.png) | `ev:markitdown·target-2015-annual-report·text-preservation` | | markitdown | Text Preservation | Sumitomo Heavy Industries consolidated financial report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input2-financialpdf-additiona-410f72aca6c5.png) | `ev:markitdown·sumitomo-heavy-industries-consolidated-financial-report·text-preservation` | | markitdown | Text Preservation | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input3-scannedpaper-output-4b7a22c40885.md) | `ev:markitdown·scanned-research-paper-int-1983-07-issue-333-image-only·text-preservation` | | pymupdf4llm | Bonus: Unique or Anomalous Behaviors | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-table-6-2c762e1c4358.png) | `ev:pymupdf4llm·scanned-research-paper-int-1983-07-issue-333-image-only·bonus-unique-or-anomalous-behaviors` | | pymupdf4llm | Bonus: Unique or Anomalous Behaviors | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input1-hybridearnings-chart--d7b12acca715.png) | `ev:pymupdf4llm·target-2015-annual-report·bonus-unique-or-anomalous-behaviors` | | pymupdf4llm | Bonus: Unique or Anomalous Behaviors | Sumitomo Heavy Industries consolidated financial report | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input2-financialpdf-quarterl-052a903bfa21.png) | `ev:pymupdf4llm·sumitomo-heavy-industries-consolidated-financial-report·bonus-unique-or-anomalous-behaviors` | | pymupdf4llm | Bonus: Unique or Anomalous Behaviors | cross-scenario | ✓ worked | — | — | — | `ev:pymupdf4llm·cross·bonus-unique-or-anomalous-behaviors` | | pymupdf4llm | Caption/Figure Association | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input1-hybridearnings-financ-11a1512840d0.png) | `ev:pymupdf4llm·target-2015-annual-report·caption-figure-association` | | pymupdf4llm | Caption/Figure Association | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input3-scannedpaper-figure-2-ed860c56fe40.png) | `ev:pymupdf4llm·scanned-research-paper-int-1983-07-issue-333-image-only·caption-figure-association` | | pymupdf4llm | Chart Reconstruction | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-figure-4-5ff08c8f3f9b.png) | `ev:pymupdf4llm·scanned-research-paper-int-1983-07-issue-333-image-only·chart-reconstruction` | | pymupdf4llm | Chart Reconstruction | Target 2015 Annual Report | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input1-hybridearnings-sales--7e63fbc65543.png) | `ev:pymupdf4llm·target-2015-annual-report·chart-reconstruction` | | pymupdf4llm | Chart Reconstruction | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | — | `ev:pymupdf4llm·sumitomo-heavy-industries-consolidated-financial-report·chart-reconstruction` | | pymupdf4llm | Document Hierarchy | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input2-financialpdf-summary--9d1de6104975.png) | `ev:pymupdf4llm·sumitomo-heavy-industries-consolidated-financial-report·document-hierarchy` | | pymupdf4llm | Document Hierarchy | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input3-scannedpaper-study-ar-dcdb72b0df0f.png) | `ev:pymupdf4llm·scanned-research-paper-int-1983-07-issue-333-image-only·document-hierarchy` | | pymupdf4llm | Document Hierarchy | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input1-hybridearnings-busine-2eec85b10a9c.png) | `ev:pymupdf4llm·target-2015-annual-report·document-hierarchy` | | pymupdf4llm | Image Retention | Sumitomo Heavy Industries consolidated financial report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input2-financialpdf-company--42ce89aed691.png) | `ev:pymupdf4llm·sumitomo-heavy-industries-consolidated-financial-report·image-retention` | | pymupdf4llm | Image Retention | Target 2015 Annual Report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input1-hybridearnings-ceo-im-8fe2950cf777.png) | `ev:pymupdf4llm·target-2015-annual-report·image-retention` | | pymupdf4llm | Image Retention | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input3-scannedpaper-usda-log-b0d7f974f992.png) | `ev:pymupdf4llm·scanned-research-paper-int-1983-07-issue-333-image-only·image-retention` | | pymupdf4llm | Long/Complex Document Robustness | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input3-scannedpaper-table-6-2c762e1c4358.png) | `ev:pymupdf4llm·scanned-research-paper-int-1983-07-issue-333-image-only·long-complex-document-robustness` | | pymupdf4llm | Long/Complex Document Robustness | Target 2015 Annual Report | ✓ worked | — | — | — | `ev:pymupdf4llm·target-2015-annual-report·long-complex-document-robustness` | | pymupdf4llm | Long/Complex Document Robustness | Sumitomo Heavy Industries consolidated financial report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input2-financialpdf-quarterl-052a903bfa21.png) | `ev:pymupdf4llm·sumitomo-heavy-industries-consolidated-financial-report·long-complex-document-robustness` | | pymupdf4llm | Long/Complex Document Robustness | Scanned research paper | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input3-scannedpaper-multicol-4c507eec6c7c.png) | `ev:pymupdf4llm·scanned-research-paper·long-complex-document-robustness` | | pymupdf4llm | Reading Order Preservation | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input3-scannedpaper-multicol-4f3192615e01.png) | `ev:pymupdf4llm·scanned-research-paper-int-1983-07-issue-333-image-only·reading-order-preservation` | | pymupdf4llm | Reading Order Preservation | Sumitomo Heavy Industries consolidated financial report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/liteparse-liteparse-input2-financialpdf-toc-e123b427a6f6.png) | `ev:pymupdf4llm·sumitomo-heavy-industries-consolidated-financial-report·reading-order-preservation` | | pymupdf4llm | Reading Order Preservation | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-growth-se-bb3d65c0896b.png) | `ev:pymupdf4llm·target-2015-annual-report·reading-order-preservation` | | pymupdf4llm | Table Reconstruction | Sumitomo Heavy Industries consolidated financial report | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input2-financialpdf-quarterl-052a903bfa21.png) | `ev:pymupdf4llm·sumitomo-heavy-industries-consolidated-financial-report·table-reconstruction` | | pymupdf4llm | Table Reconstruction | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-table-4-e7ec97aed5ce.png) | `ev:pymupdf4llm·scanned-research-paper-int-1983-07-issue-333-image-only·table-reconstruction` | | pymupdf4llm | Table Reconstruction | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input1-hybridearnings-financ-80c05c1cd419.png) | `ev:pymupdf4llm·target-2015-annual-report·table-reconstruction` | | pymupdf4llm | Table Reconstruction | Scanned research paper | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input3-scannedpaper-table-4-171279a1bfc7.png) | `ev:pymupdf4llm·scanned-research-paper·table-reconstruction` | | pymupdf4llm | Text Preservation | Sumitomo Heavy Industries consolidated financial report | ◐ mixed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input2-financialpdf-capital--b5c1a3c107a1.png) | `ev:pymupdf4llm·sumitomo-heavy-industries-consolidated-financial-report·text-preservation` | | pymupdf4llm | Text Preservation | Target 2015 Annual Report | ✓ worked | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/doc2mark-doc2mark-input1-hybridearnings-growth-se-bb3d65c0896b.png) | `ev:pymupdf4llm·target-2015-annual-report·text-preservation` | | pymupdf4llm | Text Preservation | Scanned Research Paper INT 1983-07 Issue 333 (image-only) | ✗ failed | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/docling-docling-input3-scannedpaper-title-83e90d0ce2bd.png) | `ev:pymupdf4llm·scanned-research-paper-int-1983-07-issue-333-image-only·text-preservation` | | pymupdf4llm | Text Preservation | Scanned research paper | ⚠ struggled | — | — | 🧾 [proof](https://d3epheqghktydj.cloudfront.net/pymupdf4llm-pymupdf4llm-input3-scannedpaper-title-78cfa5935059.png) | `ev:pymupdf4llm·scanned-research-paper·text-preservation` | > 🧾 = artifact-verified (proof captured) · 👁 = observed (noted, no artifact) · verdicts: worked / mixed / struggled / failed. ## The Ranking 5 tools tested head-to-head on the same input. ### 1. docling — Usable *Strong on text, hierarchy, and table structure; weak on keeping images and charts in place.* The strongest overall open-source option here: it kept text, tables, headings, and reading order very well across all three PDFs, but it still dropped charts and standalone images. ### 2. liteparse — Needs work *Reliable on native-digital prose and document structure, but weak on table fidelity and scans.* A solid second place: it preserved narrative text and document structure well, kept images as placeholders, and handled the financial report cleanly, but complex tables and scanned pages still degraded. ### 3. pymupdf4llm — Needs work *Strong on clean digital text and tables, but brittle on charts, images, and scanned layouts.* Excellent on the long annual report, but it lost too much on the table-heavy financial report and the scanned paper to rank above the more balanced tools. ### 4. doc2mark — Unstable *Good for native-digital prose and headings, but weak on tables, images, and any scanned input; its table output is especially inconsistent.* It preserved narrative text and some hierarchy, but chart output, table structure, and image handling were inconsistent, and the scanned paper produced no usable output. ### 5. markitdown — Unstable *Fast at pulling plain text from native PDFs, but structural parsing is uneven and scanned PDFs are not handled without external OCR.* Useful only as a fallback for simple digital text: headings were flattened, tables were inconsistent, images were omitted, and the scanned paper produced a 0-byte result. ## Full Breakdown ### docling Docling delivered the best end-to-end markdown from the three mixed PDFs. It kept the annual report’s text and tables highly usable, maintained the financial report’s reading order and section structure, and OCR’d the scanned paper’s text well enough to keep the prose readable. ![docling screenshot showing Hybrid earnings chart](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input1-hybridearnings-financial--72b5ec6b6a99.png) *Screenshot — The financial highlights chart is the hybrid-report stress test for chart preservation and chart-to-text recovery.* ![docling screenshot showing Hybrid earnings table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input1-hybridearnings-financial--c3595e6b8b94.png) *Screenshot — The five-year financial summary table tests multi-row labels, negative values, and footnote attachment.* ![docling screenshot showing Hybrid earnings section](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input1-hybridearnings-item-heade-cccf3d47ff6c.png) *Screenshot — The Item 1 Business header tests whether native section hierarchy survives as markdown headings.* ![docling screenshot showing Hybrid earnings image](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input1-hybridearnings-ceo-image-29d19aaf29af.png) *Screenshot — The CEO letter page checks whether embedded photos are retained or dropped.* ![docling screenshot showing Financial report balance sheet](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input2-financialpdf-quarterly-ta-8cc20f94218c.png) *Screenshot — The quarterly balance sheet tests whether a multi-column financial statement stays structurally valid.* ![docling screenshot showing Financial report narrative section](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input2-financialpdf-summary-sect-15ea880b7c7c.png) *Screenshot — The operating-performance narrative tests heading hierarchy and reading order in a corporate disclosure.* ![docling screenshot showing Scanned paper title](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input3-scannedpaper-title-83e90d0ce2bd.png) *Screenshot — The scanned title page checks OCR quality on an image-only document.* ![docling screenshot showing Scanned paper table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input3-scannedpaper-table-4-e7ec97aed5ce.png) *Screenshot — Table 4 is the hardest scanned-paper table, with dense row/column structure and many numeric fields.* **What worked:** - Docling’s best strengths were structural: it preserved native text accurately, reconstructed tables well enough for real use, kept headings and footnotes in place, and handled the long annual report and the 18-page financial report without degrading. It also OCR’d the scanned paper’s prose cleanly enough that the narrative remained readable. **Where it struggled:** - It still dropped charts and standalone images, which matters on the hybrid annual report. Complex scanned tables were not reliably reconstructed, one finance-table header set was flattened, and the scanned paper’s hardest table became unusable. The page-1 abstract/title order issue also showed up in the scan. **What came out:** ![docling output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input1-hybridearnings-financial--3576e4094cbd.png) *Output — The five-year Financial Summary stayed aligned as a readable markdown table, with year columns and financial rows preserved.* ![docling output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input1-hybridearnings-item-heade-ae8589353310.png) *Output — The Item 1 Business header was converted into a clean heading with the opening paragraph still attached.* ![docling output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input1-hybridearnings-financial--8a3362cde025.png) *Output — The financial-table footnotes remained directly attached beneath the table, preserving the table-footnote relationship.* ![docling output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input1-hybridearnings-ceo-image--4fe80f4e7617.png) *Output — The CEO portrait was omitted and replaced by a placeholder, so the text survived but the image itself did not.* ![docling output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input1-hybridearnings-ceo-sign-o-f9611e82f578.png) *Output — The handwritten CEO signature was dropped and replaced by a placeholder comment.* ![docling output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input2-financialpdf-quarterly-ta-91224da35e4f.png) *Output — The quarterly balance sheet kept its comparison columns and asset rows readable as a simple markdown table.* ![docling output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input2-financialpdf-summary-sect-827eece15292.png) *Output — The operating-performance narrative was extracted cleanly, with the section heading and paragraph order intact.* ![docling output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input2-financialpdf-business-res-e56f3af8bb3d.png) *Output — The business-results table showed header duplication and column flattening, so the table was valid but not fully faithful.* ![docling output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input3-scannedpaper-stand-prescr-af7b867e7091.png) *Output — The stand-prescriptions section was flattened into readable prose and nested bullets without losing the section’s meaning.* ![docling output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input3-scannedpaper-table-1-pars-a83f5f0066f3.png) *Output — Table 1 was only partially reconstructed; the top portion is readable, but the layout is compressed and not fully faithful.* ![docling output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input3-scannedpaper-table-4-pars-0e632d1cae16.png) *Output — Table 4 broke down badly, with fragmented headers and misaligned numeric cells that made the table hard to use.* ![docling output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-docling-input3-scannedpaper-usda-logo-om-d0dbbb23d8e4.png) *Output — The USDA logo was omitted instead of retained as an image, so the scan lost a small visual element.* ### liteparse LiteParse was the most balanced runner-up. It kept native text, reading order, and document structure in good shape, and it performed well on the table-heavy financial report, but some tables flattened, scanned OCR was weaker, and visual assets were only kept as placeholders or dropped in places. ![liteparse screenshot showing Hybrid earnings letter](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input1-hybridearnings-ceo-lett-4f3299bff3d5.png) *Screenshot — The CEO letter page tests multi-column reading order and whether the tool can keep the narrative together.* ![liteparse screenshot showing Hybrid earnings table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input1-hybridearnings-financia-b2b82fa494ae.png) *Screenshot — The annual-report financial summary tests whether headers, rows, and merged cells survive table extraction.* ![liteparse screenshot showing Hybrid earnings signatures](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input1-hybridearnings-scanned--3e642441dafd.png) *Screenshot — The scanned signatures test whether handwritten-signature blocks are retained or lost.* ![liteparse screenshot showing Financial report forecast table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input2-financialpdf-fy2025-tab-148fbb41b94a.png) *Screenshot — The FY2025 forecasts table checks whether compact financial tables stay aligned.* ![liteparse screenshot showing Financial report liabilities table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input2-financialpdf-liabilitie-feb427dc3fe4.png) *Screenshot — The liabilities table checks whether row labels split cleanly across multiple lines.* ![liteparse screenshot showing Financial report TOC](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input2-financialpdf-toc-e123b427a6f6.png) *Screenshot — The table of contents tests reading order and hierarchy across a dense corporate filing.* ![liteparse screenshot showing Scanned paper title](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input3-scannedpaper-title-dc51b9e3b75a.png) *Screenshot — The title page checks OCR quality on the scanned research paper front matter.* ![liteparse screenshot showing Scanned paper figure](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input3-scannedpaper-figure-1-a7561d92738f.png) *Screenshot — Figure 1 tests whether scanned chart content is retained as text or reconstructed visually.* **What worked:** - LiteParse did a good job on plain narrative text, preserved reading order on the annual-report CEO letter, kept the financial report’s Table of Contents in sequence, and generally retained the document hierarchy on the digital PDFs. It also kept image references in place instead of silently deleting them. **Where it struggled:** - It still flattened or split several tables, especially the FY2025 forecasts and liabilities rows, and the scanned paper produced OCR noise, fragmented charts, and weaker table recovery. Image retention was more like placeholder retention than true preservation, so the assets were not directly usable. **What came out:** ![liteparse output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input1-hybridearnings-ceo-lett-d0038550358f.png) *Output — The CEO letter came through in readable reading order, with the key bullet points preserved as text.* ![liteparse output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input1-hybridearnings-financia-79d1cce02c48.png) *Output — The Financial Summary table was usable but structurally weakened because the header row flattened into plain text and some rows split awkwardly.* ![liteparse output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input1-hybridearnings-ceo-imag-a8a071a1c537.png) *Output — The CEO letter image was retained only as a markdown image reference, so the layout survives but the asset is not directly accessible.* ![liteparse output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input1-hybridearnings-scanned--7e490c660312.png) *Output — The scanned signatures were not faithfully extracted; the output mostly shows broken image placeholders and fragmented text.* ![liteparse output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input2-financialpdf-summary-se-75cdedba0497.png) *Output — The financial-report narrative was readable, but the extraction is still a raw OCR-style dump rather than polished markdown.* ![liteparse output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input2-financialpdf-fy2025-tab-0ca3cd803944.png) *Output — The FY2025 forecasts table flattened into text, losing the clean row/column relationships.* ![liteparse output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input2-financialpdf-liabilitie-c0986d1995b9.png) *Output — The liabilities table split a row label across lines, breaking the cell structure.* ![liteparse output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input2-financialpdf-toc-parsed-a2be915647ee.png) *Output — The table of contents stayed in order, but the markdown presentation is flattened and partially noisy.* ![liteparse output showing OCR output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input3-scannedpaper-title-pars-9ecd2a81d7dc.png) *Output — The scanned title page was OCR’d with noticeable character loss and line flattening.* ![liteparse output showing Chart output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input3-scannedpaper-figure-1-p-0889fd0f8c98.png) *Output — Figure 1 became garbled text rather than a reconstructed chart or clean captioned figure.* ![liteparse output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input3-scannedpaper-table-6-pa-9c0ee286a30f.png) *Output — Table 6 was partially recoverable but still lost column alignment and clean numeric structure.* ![liteparse output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-liteparse-input3-scannedpaper-study-area-ddcd18af30cf.png) *Output — The Study Area section was extracted, but the line wrapping and OCR artifacts made the paragraph harder to read.* ### pymupdf4llm PyMuPDF4LLM was fast and very good on the native-digital annual report, especially for text, tables, hierarchy, and column order, but it fell apart more on the financial report and scanned paper, where tables, headings, and images were omitted or degraded. ![pymupdf4llm screenshot showing Hybrid earnings chart](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input1-hybridearnings-compar-7f82b31b8b6c.png) *Screenshot — The five-year total-return chart checks whether the library can preserve visual trend graphics.* ![pymupdf4llm screenshot showing Hybrid earnings text](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input1-hybridearnings-growth-baa4914afee4.png) *Screenshot — The Growth Story page checks multi-column reading order and long-form text preservation.* ![pymupdf4llm screenshot showing Hybrid earnings table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input1-hybridearnings-financ-5177ced25e2b.png) *Screenshot — The Financial Summary table checks whether multi-year financial rows stay aligned.* ![pymupdf4llm screenshot showing Financial report balance sheet](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input2-financialpdf-quarterl-04a4a54c7054.png) *Screenshot — The quarterly balance sheet checks multi-column table reconstruction on a dense financial filing.* ![pymupdf4llm screenshot showing Financial report TOC](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input2-financialpdf-toc-omit-be1a01356126.png) *Screenshot — The table of contents tests whether the parser keeps the document outline visible.* ![pymupdf4llm screenshot showing Scanned paper title](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input3-scannedpaper-title-78cfa5935059.png) *Screenshot — The scanned title page checks OCR and title handling on an image-only PDF.* ![pymupdf4llm screenshot showing Scanned paper multi-column text](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input3-scannedpaper-multicol-9067432489d3.png) *Screenshot — The multi-column forestry text checks whether columns stay in the right sequence.* ![pymupdf4llm screenshot showing Scanned paper table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input3-scannedpaper-table-4-171279a1bfc7.png) *Screenshot — Table 4 is a dense scanned table that tests alignment and header reconstruction.* **What worked:** - PyMuPDF4LLM’s strongest showing was the native-digital Target annual report, where text, tables, footnotes, hierarchy, and reading order stayed strong and the tool was very fast. On the financial report, the narrative summary and quarterly balance sheet still came through cleanly enough to be useful. **Where it struggled:** - It was much weaker on the financial report’s harder pages and on the scanned paper: the table of contents and several key tables were omitted or garbled, company-header imagery became junk text, and the scanned paper showed OCR errors, interleaving, and broken tables. It also does not retain standalone images as usable assets. **What came out:** ![pymupdf4llm output showing Chart output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input1-hybridearnings-compar-e4a16b245f85.png) *Output — The comparison chart degraded into fragmented text instead of a coherent plotted graphic.* ![pymupdf4llm output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input1-hybridearnings-growth-47c749059bdb.png) *Output — The Growth Story page stayed in the correct reading order and remained cleanly readable.* ![pymupdf4llm output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input1-hybridearnings-financ-80c05c1cd419.png) *Output — The annual-report Financial Summary table stayed structurally valid and easy to read.* ![pymupdf4llm output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input1-hybridearnings-financ-11a1512840d0.png) *Output — The financial footnotes were preserved under the table, so the table-footnote relationship stayed intact.* ![pymupdf4llm output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input1-hybridearnings-ceo-im-8fe2950cf777.png) *Output — The CEO photograph was omitted instead of retained as an image reference.* ![pymupdf4llm output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input1-hybridearnings-ceo-si-8a999c2a64d5.png) *Output — The handwritten signature block was omitted, leaving only surrounding text.* ![pymupdf4llm output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input2-financialpdf-summary--9d1de6104975.png) *Output — The financial-report narrative was extracted cleanly, with the segment reconfiguration note still readable.* ![pymupdf4llm output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-libraries-docling-input2-financialpdf-quarterly-ta-5f770439e0fe96a2.png) *Output — The quarterly balance sheet was reconstructed as a readable table for the asset section.* ![pymupdf4llm output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input2-financialpdf-company--42ce89aed691.png) *Output — The company header/logo area was turned into garbled repeated text instead of a retained image.* ![pymupdf4llm output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-libraries-docling-input2-financialpdf-consolidated-085ce432bb7ef7d4.png) *Output — The consolidated cash-flows statement stayed readable as structured text lines.* ![pymupdf4llm output showing OCR output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input3-scannedpaper-title-pa-c8c52b30a799.png) *Output — The scanned title page suffered heavy OCR corruption and word merging.* ![pymupdf4llm output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input3-scannedpaper-table-4--0dce227afe6a.png) *Output — Table 4 collapsed into a badly broken table with duplicated headers and lost layout.* ![pymupdf4llm output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-pymupdf4llm-input3-scannedpaper-study-ar-dcdb72b0df0f.png) *Output — The study-area paragraph was recovered, but multi-column reading order and spacing degraded badly.* ### doc2mark doc2mark preserved a lot of text and some section structure, but it mixed plain text, Markdown, and HTML table output, which made table reconstruction unpredictable. It also had no usable scanned-paper result in this benchmark because the OCR path was unavailable. ![doc2mark screenshot showing Hybrid earnings chart](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-financial-e9fa1da2c709.png) *Screenshot — The four-panel financial highlights chart checks whether visual trend graphics can be reconstructed.* ![doc2mark screenshot showing Hybrid earnings section](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-general-s-3b5f549b84ad.png) *Screenshot — The General business section checks whether normal narrative text stays readable and in order.* ![doc2mark screenshot showing Hybrid earnings table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-financial-2ba64a565529.png) *Screenshot — The Financial Summary table checks whether a dense five-year table stays aligned.* ![doc2mark screenshot showing Hybrid earnings signature](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-ceo-sign-82d0ac16c08a.png) *Screenshot — The CEO signature block checks whether signature imagery is retained or dropped.* ![doc2mark screenshot showing Financial report disclaimer](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input2-financialpdf-disclaimer--15500228c795.png) *Screenshot — The disclaimer box checks whether native text is preserved cleanly on the Japanese financial report.* ![doc2mark screenshot showing Financial report results table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input2-financialpdf-business-re-9059081cf70a.png) *Screenshot — The business-results table checks whether multi-column financial data survives formatting.* ![doc2mark screenshot showing Financial report changes header](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input2-financialpdf-changes-hea-8b34c16e9caf.png) *Screenshot — The accounting-policy changes section checks whether markdown headings stay consistent.* ![doc2mark screenshot showing Financial report TOC](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input2-financialpdf-toc-ef767bce0f90.png) *Screenshot — The table of contents checks whether reading order remains intact in the report outline.* **What worked:** - doc2mark was strongest at preserving plain text from the Target annual report and the Japanese financial report, and it kept some section headings and reading order intact. It also showed that it could extract a few tables in alternate formats, which at least made some information recoverable. **Where it struggled:** - Its table strategy was inconsistent across the same document, switching between flat text, Markdown, and HTML. Charts were broken into fragments, images were dropped, footnotes detached, and multi-column reading order degraded on the annual report. The scanned paper was not usable in this benchmark because the output was a 0-byte file due to the missing OCR/OpenAI path. **What came out:** ![doc2mark output showing Chart output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-financial-b1c17d714075.png) *Output — The chart page became fragmented text and a broken HTML table, so the visual data is unusable.* ![doc2mark output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-general-s-f33dbe725785.png) *Output — The General section text survived, but the output is still a raw paragraph block rather than polished markdown.* ![doc2mark output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-financial-2c77c1292340.png) *Output — The Financial Summary table flattened into plain text, losing reliable row/column structure.* ![doc2mark output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-logo-pars-0a86f806447d.png) *Output — The cover logo collapsed to title text only; the visual asset itself was not retained.* ![doc2mark output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-ceo-sign--54067bc01b12.png) *Output — The signature block was reduced to a text line, so the handwritten signature was lost.* ![doc2mark output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-growth-se-bb3d65c0896b.png) *Output — The CEO letter content came through, but the reading order is cramped and the page is flattened into text.* ![doc2mark output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-footnotes-854f2847c018.png) *Output — The footnotes were detached into a separate block, weakening their link to the table above.* ![doc2mark output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input1-hybridearnings-financial-c220a901c5d4.png) *Output — The selected financial data page was parsed as a mix of flat text and HTML, showing inconsistent table handling.* ![doc2mark output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input2-financialpdf-disclaimer--a898e3623ccd.png) *Output — The disclaimer text was preserved accurately and is readable as plain narrative output.* ![doc2mark output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-libraries-doc2mark-input2-financialpdf-business-re-cc3ce4b73a680588.png) *Output — The business-results table collapsed into merged cells and jumbled values, so the row-to-column mapping broke.* ![doc2mark output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input2-financialpdf-changes-hea-158cb7fd197a.png) *Output — The accounting-policy change section was rendered with inconsistent heading styling instead of clean markdown hierarchy.* ![doc2mark output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-doc2mark-input2-financialpdf-toc-parsed--acf5cca54e00.png) *Output — The table of contents stayed mostly in order, but the hierarchy and formatting were flattened.* ### markitdown MarkItDown preserved some native text and a few tables on the digital PDFs, but it lost heading hierarchy, handled tables inconsistently, dropped images, and produced no output at all for the scanned paper without an external OCR client. ![markitdown screenshot showing Hybrid earnings paragraph](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-target--0e9f2a1f3364.png) *Screenshot — The Target.com & mobile paragraph checks whether native narrative text survives cleanly.* ![markitdown screenshot showing Hybrid earnings chart](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-financi-4a794b289971.png) *Screenshot — The financial highlights chart checks whether chart values and layout are retained.* ![markitdown screenshot showing Hybrid earnings table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-financi-53dfaf2dd0b9.png) *Screenshot — The annual-report financial summary checks multi-year table reconstruction.* ![markitdown screenshot showing Hybrid earnings properties table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-propert-3ecbdf082a20.png) *Screenshot — The U.S. Stores properties table tests how the parser handles a wide tabular layout.* ![markitdown screenshot showing Hybrid earnings section](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-item-1--d3a3bb4b903b.png) *Screenshot — The Item 1 Business header checks whether the document outline is preserved as markdown headings.* ![markitdown screenshot showing Financial report notes](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-additiona-2c945a9ea161.png) *Screenshot — The Additional Notes section checks text extraction on a dense, table-adjacent disclosure page.* ![markitdown screenshot showing Financial report results table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-business--b3c1a7507132.png) *Screenshot — The business-results table checks whether a compact financial statement stays structured.* ![markitdown screenshot showing Financial report position table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-financial-0c83dd2bbd1d.png) *Screenshot — The financial-position table checks whether numeric columns stay aligned in markdown.* ![markitdown screenshot showing Financial report TOC](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-toc-5dc000d64267.png) *Screenshot — The table of contents checks whether section order survives the parse.* ![markitdown screenshot showing Financial report segment table](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-segment-t-1f6408df9a4e.png) *Screenshot — The segment table checks whether multi-segment data stays readable.* **What worked:** - MarkItDown was acceptable for straightforward native text extraction on the two digital PDFs. It kept some reading order, preserved a few tables, and extracted plain narrative sections like the disclaimer and additional notes without losing the words themselves. **Where it struggled:** - It lost document hierarchy entirely, parsed tables inconsistently, omitted images, and turned chart text into jumbled values. The two-column annual-report layout was merged into noisy text, and the scanned paper produced a 0-byte output because OCR was not available in the standalone workflow. **What came out:** ![markitdown output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-target--bb5fa6fde98f.png) *Output — The Target.com & mobile paragraph was extracted cleanly as readable text.* ![markitdown output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-financi-00cb2fd05d60.png) *Output — The financial summary was flattened into awkward text, losing a clean table layout.* ![markitdown output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-propert-c8c7f482c139.png) *Output — The properties table was recovered as a usable table, though only part of the full grid is visible.* ![markitdown output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-item-1--db98d77c013e.png) *Output — The business section text survived, but the headings are not preserved as proper markdown hierarchy.* ![markitdown output showing Image output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-logo-pa-4082df0b4f1b.png) *Output — The cover logo was reduced to report text only; the image itself was lost.* ![markitdown output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input1-hybridearnings-welcome-f90e7ee41480.png) *Output — The welcome-message page was extracted as flat text with the surrounding layout merged together.* ![markitdown output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-additiona-410f72aca6c5.png) *Output — The Additional Notes section came through clearly as readable text.* ![markitdown output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-business--27b520ba2b9c.png) *Output — The business-results table was compressed into plain text, so the numeric rows are hard to use programmatically.* ![markitdown output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-financial-44271355d24e.png) *Output — The financial-position table kept the values but lost clean table formatting and column alignment.* ![markitdown output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-summary-s-186c31156860.png) *Output — The operating-performance summary is readable, but the extraction is still a flat paragraph dump rather than proper hierarchy.* ![markitdown output showing Table output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-segment-t-95f7d0fc85ec.png) *Output — The segment table stayed only partially structured, with the segment labels and values no longer easy to map cleanly.* ![markitdown output showing Text output](https://d3epheqghktydj.cloudfront.net/pdf-to-markdown-using-open-source-librar-markitdown-input2-financialpdf-toc-parse-177208e25aad.png) *Output — The table of contents remained in order, but its layout was flattened into plain text.* ## Final Take docling is the overall winner from these scorecards: it has the strongest hierarchy handling and long-document robustness, while also scoring well on text preservation, caption-figure association, and table reconstruction. The trade-off is clear: it is weak at keeping images and charts in place, so it is not the best pick when visual fidelity matters. liteparse is the closest alternative for native-digital prose and structure, with solid text and reading order, but it gives up some robustness and table fidelity. pymupdf4llm is a reasonable choice for clean digital text and tables, but it is less reliable on reading order, hierarchy, and complex or scanned layouts. doc2mark fits native-digital prose and headings, but its table output is especially inconsistent and it is weak on images and scans. markitdown is the simplest route for pulling plain text from native PDFs, but structural parsing is uneven and scanned PDFs need external OCR.