← Back to Open-Source PDF Software

Open-Source PDF Software Capable of Converting PDF Formats

Convert between PDF and other document/image formats

38 tools

Command Line

Poppler

CliLibrary

PDF rendering library and command-line suite (pdftotext, pdfimages, pdftoppm, pdftocairo, pdftohtml, pdftops, pdfinfo, pdffonts, pdfdetach, pdfattach, pdfseparate, pdfunite, pdfsig) covering text/image extraction, page rendering, format conversion, metadata, attachments, and signature verification.

Command Line

Xpdf

CliGui

PDF viewer plus command-line tools (pdftotext, pdftops, pdftoppm, pdftopng, pdftohtml, pdfinfo, pdfimages, pdffonts, pdfdetach) for viewing PDFs and converting them to text, PostScript, image, or HTML, plus metadata, image, font, and attachment extraction.

Command Line

Ghostscript

CliLibrary

PostScript and PDF interpreter/renderer from Artifex: converts PostScript/PDF to images, text, DOCX, PCL, and XPS; compresses PDFs while preserving quality; converts to/validates PDF/A; adds an OCR text layer to scanned pages; imposition (N-up), ICC color management, and ZUGFeRD/Factur-X e-invoicing support.

Command Line

MuPDF

CliGuiLibrary

Lightweight C library, viewer, and CLI toolset for PDF, XPS, and e-book formats: renders and extracts text/images/metadata/structured content; creates, splits, merges, and compresses PDFs; adds annotations (highlights, stamps, shapes); permanently redacts content; digitally signs documents; converts between PDF, SVG, PNG, HTML, and PostScript; and embeds into web pages/apps.

C#

PDFCreator

Gui

This is the source code of the well-known PDFCreator from `pdfforge`. PDFCreator works like a virtual printer that converts any printable application's output to PDF, and (per pdfforge's product page) supports merging/reordering pages, password/digital-signature protection, PDF/A archiving, cover pages, and automated actions (FTP upload, email, scripting).

C#

clawPDF

Gui

Open-source virtual (network) printer for Windows: print-to-PDF, PDF/A-1b/2b/3b, PDF/X, PDF/Image, PNG/JPEG/TIF/text output; OCR; password protection with up to 256-bit AES encryption; and multi-user/enterprise deployment support.

Stale
C++

pdf2htmlEX

Library

Converts PDF to HTML while preserving text/layout fidelity (native positioned text with original fonts), producing a single self-contained file or a paged on-demand-loading version; carries over hyperlinks, outlines/bookmarks, SVG backgrounds, Type 3 and CJK fonts, and print support. Built on Poppler and FontForge; this pdf2htmlEX/pdf2htmlEX fork continues the original coolwanglu/pdf2htmlEX as an open community effort.

Go

docconv

CliDriverLibraryServer

Go library/CLI/HTTP service that converts PDF, DOC, DOCX, XML, HTML, RTF, ODT, Pages, and image files to plain text and metadata (JSON), with optional OCR support (via Tesseract, built with the `ocr` tag) for image-based input.

Stale
Haskell

Pandoc

Cli

Universal document converter between Markdown, HTML, LaTeX/ConTeXt, DOCX/RTF/ODT, EPUB, man/ms roff, DocBook, JATS, TEI, Jupyter notebooks, PowerPoint/reveal.js/Beamer slides, and dozens more formats. Uses external PDF-producing engines (context, latexmk, lualatex, pdflatex, xelatex, wkhtmltopdf, weasyprint, prince, pagedjs-cli, tectonic, pdfroff) to convert into PDF, and preserves metadata, footnotes, tables, math, syntax highlighting, and citations/bibliographies (via CSL) across formats.

Java

Images To PDF

Gui

Android PDF toolkit centered on creating PDFs from camera/gallery images (and converting text files to PDF), plus managing existing PDFs: merge, split, compress, remove/rearrange/rotate pages, extract images, and encrypt/decrypt.

Java

Stirling-PDF

Web ApiWeb App

Self-hostable PDF toolkit with 50+ tools: edit, merge, split, sign, redact, and convert PDFs; OCR scanned pages; compress files; validate signatures; apply watermarks; and automate workflows via no-code pipelines, a REST API, and webhooks. Offered as a browser-based UI, desktop client, or self-hosted server (incl. air-gapped deployment).

Java

XDocReport

Library

Merges DOCX/ODT template documents (authored in MS Word or OpenOffice/LibreOffice) with Java data models to generate reports, then converts the result to PDF, XHTML, or the original office format, including an iText-based PDF converter.

Java

Docs to PDF Converter

CliLibrary

Standalone CLI tool and embeddable Java library that converts DOC, DOCX, PPT, PPTX, and ODT files to PDF without requiring LibreOffice; PPT/PPTX slides are converted to PDFs with each slide embedded as a PNG image.

DepreciatedStale
Java

YARG

Library

Java reporting library (developed by Haulmont for the CUBA Platform) that fills templates with data (loaded via SQL, Groovy, or other sources) and generates reports in Office formats (doc/docx/xls/xlsx), HTML, FreeMarker, CSV, or custom text — headless, with no built-in UI, for embedding into host applications.

Java

JasperReports

Library

Java reporting engine that compiles XML report templates (.jrxml) into executable reports (.jasper), pulling data from any data source to produce pixel-perfect documents; exports to PDF, HTML, Excel, Word, and OpenOffice formats, and renders Pie/Bar/Stacked Bar charts. Designed with Jaspersoft Studio and embeddable via API.

Java

Eclipse BIRT

GuiWeb App

Open-source reporting and data-visualization project (Eclipse Foundation): report design/engine/model for generating reports from data sources, a charting module for graphical visualizations, and a web viewer component for browser-based report delivery.

JavaScript

jsreport

LibraryWeb Api

Open-source report-rendering platform: design reports with templating engines (e.g. Handlebars) or a visual designer, and render them to PDF, HTML, Excel, DOCX, and other formats; includes user management, a REST API, scheduling, and email delivery. Usable standalone or embedded as a Node.js library.

JavaScript

markdown-resume.js

CliDriver

CLI tool (`md2resume`) that converts a Markdown resume into a responsive HTML page and a PDF version (via wkhtmltopdf), with a watch mode for live-reload editing and Docker support.

Stale
JavaScript

Serverless LibreOffice

Driver

Runs a precompiled LibreOffice binary inside AWS Lambda to convert documents to PDF (and between other office formats) at low cost, with Terraform examples, a Node.js Lambda handler (with S3 integration), and a Docker setup for compiling LibreOffice yourself.

Stale
JavaScript

zerox

Library

OCR/document-ingestion library (Node/TypeScript and Python implementations) that converts PDFs, Word/Excel/PowerPoint files, and images to page images, then sends each to a vision-language model (OpenAI, Azure OpenAI, AWS Bedrock, Google Gemini, or Vertex AI) to produce Markdown, preserving tables/charts; supports structured JSON-schema extraction, page selection, concurrent processing, and orientation/edge correction.

JavaScript

svg2pdf.js

Library

JavaScript-only SVG-to-PDF conversion utility that runs in the browser, built on top of jsPDF.

Lua

KOReader

Gui

Document viewer built for e-ink readers: fixed-layout (PDF, DjVu, CBT, CBZ) and reflowable (EPUB, FB2, Mobi, DOC, RTF, HTML, CHM, TXT) formats; reflows scanned PDFs via K2pdfopt; customizable typography (margins, line spacing, fonts); StarDict dictionary and Wikipedia lookups; Calibre/Wallabag/Google Translate integration; and built-in FTP client, SSH server, and OPDS catalog support.

PHP

PHPWord

Library

Writes and reads OOXML (Word 2007+), ODF (ODT), RTF, HTML, and PDF documents: sections with headers/footers/page numbering, styled text runs and paragraphs, tables, images (local/remote/watermark), drawing shapes, charts (pie/bar/line/area/scatter/radar), OLE objects, TOCs, footnotes/endnotes, form fields, lists, template-based generation, and XSL transforms.

PHP

markdown-resume

CliDockerDriver

CLI/Docker tool that converts a Markdown resume into a responsive HTML5/CSS3 page and a PDF (via wkhtmltopdf), with selectable themes, a live-reload watch mode, word-frequency stats analysis, and single-file output with embedded styles.

Stale
PHP

PHPPdf

Cli

Converts XML (or Markdown) documents to PDF or images (JPEG/PNG via GD/Imagick/Gmagick) with HTML-like tags (div, p, table, headings, lists, images, links); supports auto-breakable/fixed pages, multi-column layouts, headers/footers/watermarks, page numbering, metadata, internal/external links, bookmarks, sticky notes, barcodes (via Zend), simple pie charts, borders, backgrounds, rotation/transparency, and stylesheets; usable via web or CLI, with Symfony2 integration.

Stale
PHP

phpgearbox/pdf

DriverLibrary

Generates PDFs two ways: DOCX templating (variable substitution like `${FOO}`, block cloning, table row duplication, then converted to PDF) or HTML-to-PDF via PhantomJS.

DepreciatedStale
Python

PDF Craft

Library

Converts scanned-book PDFs to Markdown or EPUB using OCR (DeepSeek OCR locally, or DeepSeek/Baidu vendor backends), recognizing complex structure including tables and formulas; extracts body text while filtering headers/footers, preserves footnotes/images/assets, auto-generates an EPUB table of contents (optionally LLM-enhanced), and offers configurable table (HTML/image) and formula (MathML/SVG/image) rendering. Runs fully offline as of v1.0.0.

Python

pdfly

Cli

Pure-Python CLI (companion to pypdf) with commands including 2-up/booklet page layout, cat (extract/merge pages), check-sign (verify signatures), compress/uncompress, extract-annotated-pages, extract-images, extract-links, extract-text, meta/pagemeta, rm (delete pages), rotate, sign, update-offsets (repair simple PDFs), and x2pdf (convert other formats to PDF pages).

Python

Marker

Library

Converts PDFs, images, PPTX, DOCX, XLSX, HTML, and EPUB to Markdown, JSON, HTML, or chunks, preserving reading order: reconstructs tables (heuristics with VLM fallback for complex cases), recognizes math/equations as LaTeX, extracts and saves images, performs multilingual OCR via the Surya VLM, strips headers/footers/artifacts, and can optionally use an LLM to improve accuracy.

Python

arXiv Vanity

Web App

Django web app (arxiv-vanity.com) that renders arXiv papers as responsive, mobile-friendly HTML web pages instead of PDF, using the companion Engrafo LaTeX-to-HTML converter to do the actual conversion; includes an arXiv scraping command and an admin interface.

Stale
Python

Pdfminer.six

Library

Pure-Python PDF-1.7 parser/extraction library: text, images, HTML, or hOCR output with exact text location/font/color data; AcroForm and tagged-content extraction; outline/TOC extraction; embedded image extraction (JPG, PNG, TIFF, JBIG2, bitmaps); CJK and vertical-writing support; Type1/TrueType/Type3/CID fonts; RC4/AES decryption; and decoding of ASCIIHex/ASCII85/LZW/Flate/RunLength/CCITTFax compression filters.

Python

PDFMiner

Library

Original PDFMiner: text extraction with location/font/size data, layout analysis, format conversion (HTML/XML), outline (TOC) extraction, RC4/AES decryption, and multi-font/CJK support.

DepreciatedStale
Python

pdf2docx

CliGuiLibrary

Converts PDF files to DOCX (Word) format, preserving formatting and layout, and extracts tables; offers both CLI and GUI.

Python

PDFMathTranslate

CliDockerGuiLibraryPlugin

Translates scientific PDF documents while preserving layout, formulas, charts, tables of contents, and annotations; supports Google Translate, DeepL, Ollama, OpenAI, and other translation backends via CLI, GUI, Docker, or a Zotero plugin, with batch/directory translation and partial-document translation.

Python

Nougat

Library

Neural OCR model (Meta/Facebook Research) that parses academic PDF papers into Markdown (.mmd), understanding LaTeX math and tables; supports single or batch PDF processing, page-range selection, and failure-detection heuristics for problematic pages.

Python

MinerU

CliLibraryServerWeb App

Converts PDF, DOCX, PPTX, XLSX, images, and web pages into Markdown or JSON: strips headers/footers/page numbers while preserving structure, converts formulas to LaTeX and tables to HTML, OCRs scanned/garbled PDFs in 109 languages, handles single/multi-column and complex layouts (incl. cross-page table merging), and extracts images with captions. Offers CLI, FastAPI, and Gradio WebUI, plus Python/Go/TypeScript SDKs; builds on PDF-Extract-Kit's models.

Ruby

RGhost

Library

Ghostscript-based document API that generates documents programmatically and converts between PDF, PS, GIF, TIF, PNG, and JPG, with support for EPS templates and optimizations for handling large documents.

Stale
Ruby

Kitabu

CliDriver

Ruby framework that converts Markdown (with ERB templating) into PDF (via Prince XML), EPUB, Mobi, and HTML e-books: auto-generated tables of contents from headings, Rouge syntax highlighting, custom @font-face fonts, book-layout stylesheets per format, frontmatter metadata/variables, and pre/post-render content hooks.