← Back to Open-Source PDF Software

Open-Source PDF Driver Software

Automates or shells out to a separate standalone program or browser rather than linking it in-process

21 tools

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
Java

Apache Tika

CliDriverLibraryServer

Content-analysis toolkit that detects file types and extracts text and metadata from over a thousand file formats (including PDF, DOCX, PPTX, XLSX) through a single parsing interface; supports OCR (via Tesseract), language detection, named-entity recognition, and parsing of embedded documents/attachments. Available as a Java library, CLI (tika-app), or REST server (tika-server).

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

scissors

Driver

Node.js wrapper around PDFtk, Ghostscript, and ImageMagick for PDF manipulation: split/select/reorder/reverse pages, filter even/odd pages, join multiple PDFs, rotate (90/180/270/360°), crop (noted as unreliable), extract text and embedded images, extract metadata/properties, and render pages to PNG at a given DPI.

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

textract

CliDriverLibrary

Node.js module (CLI + API) that extracts text from HTML, PDF, DOC/DOCX, ODT, RTF, XLS/XLSX/XLSB/XLSM, CSV, ODS, PPTX/ODP, XML, Markdown, EPUB, and image formats (PNG/JPG/GIF via Tesseract OCR); wraps external tools (pdftotext, antiword, tesseract, unrtf) and supports password-protected PDFs and configurable OCR language.

Perl

App::pdfsize

CliDriver

Thin CLI wrapper that reports a PDF's page dimensions: extracts the first page with pdftk, converts it to JPEG via ImageMagick, then measures it with imgsize.

Stale
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

browsershot

DriverLibrary

PHP package that drives headless Chrome (via Puppeteer) to convert a URL, HTML string, or local HTML file into a PDF or image; can also extract the rendered HTML body after JavaScript execution and list all network requests the page triggered.

PHP

Snappy

DriverLibrary

PHP wrapper around wkhtmltopdf/wkhtmltoimage that generates PDFs or image snapshots/thumbnails from URLs or HTML, merges multiple URLs into a single PDF, supports XSL-based tables of contents, and passes through wkhtmltox options (page size, margins, cookies, JS); includes Symfony, Laravel, and Zend Framework integrations.

PHP

pdf-to-image

DriverLibrary

Converts PDFs (via ImageMagick + Ghostscript) to JPG/JPEG/PNG/WebP images: render specific or all pages, control quality/DPI/dimensions/background color, read page count and page dimensions, and handle password-protected PDFs (requires ImageMagick 7).

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

Python-PDFKit

DriverLibrary

Python wrapper around wkhtmltopdf: converts HTML from URLs, files, or strings (single or multiple at once) to PDF, with configurable wkhtmltopdf options, TOC generation, cover pages, external CSS, and HTML meta-tag-based settings.

DepreciatedStale
Python

OCRmyPDF

CliDriverLibrary

Adds a searchable OCR text layer beneath page images and produces a validated PDF/A file: deskews crooked pages, optionally cleans images pre-OCR, optimizes/compresses images, recognizes 100+ languages via Tesseract, rotates misrotated pages, edits output metadata, parallelizes across CPU cores, and processes multi-thousand-page files in place.

Python

Unstructured

DriverLibrary

Open-source ETL library that converts complex documents (including PDFs) into clean, structured data for LLM ingestion: PDF text extraction, OCR on scanned pages (via tesseract-ocr/poppler-utils), document layout detection, and partitioning into logical elements via a single `partition()` auto-detection function.

Ruby

Wicked PDF

DriverLibraryPlugin

Rails plugin that uses wkhtmltopdf to render standard HTML views (or raw HTML/URLs/files) as PDF, avoiding a specialized PDF DSL: `format.pdf` controller responses, saving/emailing PDFs, CSS styling and JS execution, custom headers/footers, Rack middleware for `.pdf`-suffixed URLs, and an HTML debug-preview mode.

Ruby

PDFKit

DriverLibrary

Ruby gem that generates PDFs from HTML+CSS via wkhtmltopdf (WebKit rendering): converts HTML strings, URLs, or files; attaches stylesheets; passes cookies; configures default/global wkhtmltopdf options; and provides Rack/Rails middleware for `.pdf`-suffixed routes with forced-download support.

Stale
Ruby

Grover

DriverLibraryPlugin

Ruby gem that uses Puppeteer/headless Chromium (or Firefox) to convert URLs, inline HTML, local files, or Rails view templates into PDF, PNG, or JPEG: configurable page layout/margins/viewport, cookies/headers, CSS/JS injection, cover pages, HTTP basic auth, remote-browser connections, wait conditions (network idle, element visibility), and Rack middleware for URL-extension-triggered conversion.

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.

Ruby

Gimli

CliDockerDriver

CLI tool that converts GitHub-Markup-supported markup files (Markdown, Textile, etc., except roff) to PDF via wkhtmltopdf: embeds images (local/relative/remote), CodeRay syntax highlighting with a GitHub theme, custom CSS, Jekyll front-matter stripping, cover-page generation, direct wkhtmltopdf option passthrough (TOC, page numbering), and Docker support.

Stale
Scala

sPDF

DriverLibrary

Scala wrapper around wkhtmltopdf that generates PDFs from HTML/CSS/JS: accepts input as files, streams, URLs, Scala XML elements, or raw strings; writes to files or output streams; supports wkhtmltopdf's extended parameters (orientation, page size, margins); referenced images/stylesheets; async conversion via Scala `Future`; and a `WrappedPdf` mode for headless environments (e.g. via xvfb-run).

Stale