Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/karllhughes/awesome-pdf

A collection of high-quality libraries, links, and resources for developers working with PDFs 🕶
https://github.com/karllhughes/awesome-pdf

List: awesome-pdf

Last synced: 3 months ago
JSON representation

A collection of high-quality libraries, links, and resources for developers working with PDFs 🕶

Awesome Lists containing this project

README

        

# Awesome PDF
[![Awesome](https://awesome.re/badge.svg)](https://awesome.re)

This is a list of resources for programmers and others working with portable document format (PDF) files.

## Contributing

Please help improve this list. Submit a pull request if you spot a link or description that needs updating. New links are welcome, too!

If you have a question or aren’t sure if something is worth including, you can use the issues to open a discussion.

## Table of Contents

- Awesome PDF
- [Libraries](#Libraries)
- [JavaScript](#JavaScript)
- [Ruby](#Ruby)
- [PHP](#PHP)
- [Python](#Python)
- [Go](#Go)
- [C/C++](#C/C++)
- [Java](#Java)
- [Perl](#Perl)
- [Swift](#Swift)
- [Rust](#Rust)
- [Misc/Multi-language](#MiscMulti-language)
- [SDKs](#SDKs)
- [APIs](#APIs)
- [Documentation](#Documentation)
- [WordPress Plugins](#WordPress-Plugins)
- [Add-ons/Components](#Add-onsComponents)
- [Tools](#Tools)
- [Converters](#Converters)
- [Misc](#Misc)
- [Services](#Services)
- [Guides and Tutorials](#Guides-and-Tutorials)
- [Videos](#Videos)
- [Credits/Other lists](#CreditsOther-lists)
- [License](#License)

## Libraries

### JavaScript

- [PDFKit (JavaScript)](https://pdfkit.org/) - JavaScript PDF generation library. For Node and the browser.
- [pdfmake](http://pdfmake.org/#/) - Wrapper for PDFKit offering a few extra features.
- [PDF-LIB](https://pdf-lib.js.org/) - Pure JavaScript PDF library.
- [PDF.js](https://mozilla.github.io/pdf.js/) - Standards-based, general-purpose viewer.
- [jsPDF](https://github.com/MrRio/jsPDF) - Advanced, well-documented library.
- [labelmake](https://labelmake.jp/javascript-pdf-generator-library/) - Simple PDF generator.
- [Puppeteer](https://github.com/puppeteer/puppeteer) - Node library for controlling Chrome. Can also generate PDFs.
- [React-pdf](https://react-pdf.org/) - React renderer for creating PDF files.
- [dom-to-pdf](https://github.com/ovvn/dom-to-pdf) - Generate printable PDFs from DOM nodes.
- [PDFObject](https://pdfobject.com/) - Embed PDFs in HTML.
- [pdf2json](https://www.npmjs.com/package/pdf2json) - Node module to convert PDF to JSON.

### Ruby
- [HexaPDF](https://github.com/gettalong/hexapdf) - Ruby library to create and manipulate PDFs.
- [Prawn](https://github.com/prawnpdf/prawn) - Ruby PDF generator including vector drawing and image embedding.
- [Wicked PDF](https://www.ruby-toolbox.com/projects/wicked_pdf) - Ruby on Rails PDF generation.
- [CombinePDF](https://www.ruby-toolbox.com/projects/combine_pdf) - Combine, parse, number, and watermark PDFs in Ruby.
- [Grim](https://github.com/jonmagic/grim) - Gem to extract (reap) PDF text and images.

### PHP
- [TCPDF](https://tcpdf.org/) - Generate PDFs in PHP.
- [mPDF](https://mpdf.github.iohttps://tcpdf.org/) - Generate PDFs from UTF-8 encoded HTML.
- [FPDF](http://www.fpdf.org/) - Create PDFs in pure PHP.
- [dompdf](https://dompdf.github.io/) - HTML to PDF converter.
- [Snappy](https://github.com/KnpLabs/snappy) - Generate PDFs, thumbnails, and snapshots from websites.
- [PHPWord](https://github.com/PHPOffice/PHPWord) - Library for reading and writing various document types.
- [PdfParser](https://github.com/smalot/pdfparser) - Data extraction library.

### Python
- [pdfrw](https://pypi.org/project/pdfrw/) - Python library for reading and writing PDFs.
- [pikepdf](https://pikepdf.readthedocs.io/en/latest/) - Creation, manipulation, and repair of PDFs.
- [PDFMiner](https://euske.github.io/pdfminer/index.html) - Extract information from PDF documents.
- [PyPDF4](https://github.com/claird/PyPDF4) - Various operations, such as split, merge, and transform PDF data.
- [Slate](https://github.com/timClicks/slate) - Wrapper for PDFMiner. Makes simple things easier.
- [PDFQuery](https://github.com/jcushman/pdfquery) - Scrape PDF files using JQuery or XPath syntax.
- [xpdf-python](https://pypi.org/project/xpdf-python/) - Python wrapper for XPDF.
- [PDF Reports](https://edinburgh-genome-foundry.github.io/pdf_reports/index.html) - Generate reports from HTML or Pug templates.

### Go
- [gopdf](https://github.com/signintech/gopdf) - Generate PDFs in Go.
- [pdfcpu](https://github.com/pdfcpu/pdfcpu) - Go library that can handle batch processing and encryption.
- [UniDoc/UniPDF](https://www.unidoc.io/) - Commercial Go library.
- [gofpdf](https://pkg.go.dev/github.com/jung-kurt/gofpdf) - High level support for text, drawing, and images.
- [goreport](https://github.com/mikeshimura/goreport) - PDF report generator.

### C/C++
- [VersyPDF](https://github.com/sybrexsys/VersyPDF) - C/C++ library including support for several formats and compression types.
- [PDF-Writer](https://github.com/galkahana/PDF-Writer) - Fast and free C++ PDF handling library.
- [LibHaru](https://products.fileformat.com/pdf/cpp/libharu) - C++ library to generate and embed images in PDFs.

### Java
- [Apache PDFBox](https://pdfbox.apache.org/) - PDF manipulation and command line utilities.
- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source successor of iText.
- [gnujpdf](http://gnujpdf.sourceforge.net/) - Create and print PDF files.
- [jPod](https://sourceforge.net/projects/jpodlib/) - Rich PDF manipulation and rendering framework.
- [JasperReports](https://github.com/TIBCOSoftware/jasperreports) - Java reporting library covering PDF and other formats.

### Perl
- [CAM-PDF](https://metacpan.org/release/CAM-PDF) - Read and write PDF files.
- [PDF](https://metacpan.org/pod/PDF) - Perl PDF library. Check the sidebar for downloads, not the GeoCities link!
- [PDF-API2](https://metacpan.org/release/PDF-API2) - Create and manipulate PDF files.

### Swift

- [Apple PDFKit](https://developer.apple.com/documentation/pdfkit) - Framework for Swift and Objective-C.
- [PDFGenerator](https://github.com/sgr-ksmt/PDFGenerator) - Simple PDF generator.

### Rust
- [lopdf](https://github.com/J-F-Liu/lopdf) - Rust PDF manipulation.
- [printpdf](https://github.com/fschutt/printpdf) - Create printable PDF documents.

### Misc/Multi-language

- [electron-pdf-window](https://github.com/gerhardberger/electron-pdf-window) - PDF support in the Electron framework.
- [Gmail To PDF](https://github.com/pixelcog/gmail-to-pdf) - Google Apps script utilities to convert emails to PDF.
- [pdf-toolbox](https://github.com/Yuras/pdf-toolbox) - Haskell PDF processing tools.
- [clj-pdf](https://github.com/clj-pdf/clj-pdf) - Clojure PDF generation.
- [sPDF](https://github.com/cloudify/sPDF) - Scala library to produce PDFs from web pages.

## SDKs

- [Foxit SDK](https://developers.foxit.com/) - Official SDK, includes core API for seven platforms.
- [PDFTron](https://www.pdftron.com) - Brings PDF capabilities to applications.
- [iText PDF](https://itextpdf.com/en) - Commercial SDK and several other PDF tools.

## APIs

- [URL to PDF Microservice](https://github.com/alvarcarto/url-to-pdf-api) - Convert HTML to PDF files.
- [DocRaptor](https://docraptor.com/) - HTML to PDF API.
- [RichText2Pdf API](https://rapidapi.com/convertapi/api/richtext2pdf/details) - Convert rich text documents to PDF.
- [Excel2Pdf API](https://english.api.rakuten.net/convertapi/api/excel2pdf) - Convert Excel docs to PDF files.
- [DOCX to PDF API](https://www.convertapi.com/docx-to-pdf) - Convert Word to PDF.
- [ConvertAPI PowerPoint2Pdf API](https://www.programmableweb.com/api/convertapi-powerpoint2pdf/sdks) - Convert PowerPoint to PDF files using any of nine languages.
- [HTML to PDF conversion with CSS and JavaScript](https://rapidapi.com/tkdchamp/api/html-to-pdf-conversion-with-css-and-javascript) - The name says it all.
- [instant-pdf](https://github.com/yogthos/instant-pdf) - Send JSON in a post request to automatically generate PDF files.
- [Textibility API](https://rapidapi.com/ideasynthesis/api/textibility) - Provides capabilities like compression, filtering, and text extraction.
- [Actual Reports](https://actualreports.com/) - API for transactional PDF generation.
- [edocr](https://www.edocr.com/v/bypjgeml/edocr/edocr-public-api-reference) - Use documents to generate leads.
- [WebSequenceDiagrams](https://www.websequencediagrams.com/embedding.html) - Generate URL diagrams, in PDF and other formats.

- [Power PDF](https://www.kofax.com/products/power-pdf) - Desktop software promising accurate file conversion.

## Documentation

- [Understanding PDF Standards](https://www.foxit.com/blog/understanding-pdf-standards-compliance/) - PDF standards compliance.
- [DC Developer Resources](https://opensource.adobe.com/dc-acrobat-sdk-docs/) - Documentation for PDF Library SDK and others.

## WordPress Plugins

- [SwipeBook PDF Viewer](https://codecanyon.net/item/swipebook-pdf-viewer-wordpress-plugin/21715406) - Commercial WordPress plugin to display PDF files.
- [WooCommerce PDF Catalog](https://codecanyon.net/item/woocommerce-pdf-catalog/15310703) - Use PDF with WooCommerce.
- [PDF Viewer for WordPress](https://codecanyon.net/item/pdf-viewer-for-wordpress/8182815) - Popular WordPress PDF viewer.
- [WordPress Content to PDF](https://codecanyon.net/item/wordpress-content-to-pdf-blog-to-pdf/27614773) - Export blog posts to PDF files.

## Add-ons/Components

- [Laravel PDF](https://github.com/niklasravnsborg/laravel-pdf) - Convert HTML to PDF within Laravel.
- [Rails PDF](https://github.com/igorkasyanchuk/rails_pdf) - Create PDF documents from HTML in Ruby on Rails.

## Tools

### Converters

- [pdfcrowd](https://pdfcrowd.com/) - Automatically convert web pages to PDF. Also includes an API.
- [HTML to PDF](https://html2pdf.com/) - Free and automatic web to PDF converter.
- [Webpage to PDF](https://webpagetopdf.com/) - Paste in a URL and get a PDF file.
- [W2P](https://www.web2pdfconvert.com/) - Another web to PDF converter.
- [PDFmyURL](https://pdfmyurl.com/) - Accurate, feature-rich web to PDF converter.
- [Docs.zone](https://docs.zone/) - Combine and convert PDF files.
- [Convert PDF Online](https://www.pdfconvertonline.com/) - Convert to and from multiple formats, and several other features.
- [Light PDF](https://lightpdf.com/) - Converter and other tools.
- [Online PDF Converter](https://online2pdf.com/) - Turn other files into PDFs.
- [pdf2image](https://github.com/Belval/pdf2image) - Python module to convert PDFs to images.
- [CleverPDF](https://www.cleverpdf.com/) - File converter with a good selection of formats.
- [CV Boilerplate](https://github.com/mrzool/cv-boilerplate) - Generate PDF résumés via LaTeX.
- [backslide](https://github.com/sinedied/backslide) - Presentation creator using Markdown and converting to PDF.
- [SumatraPDF Reader](https://github.com/sumatrapdfreader/sumatrapdf) - Multi-format document reader for Windows.
- [Markdown Resume Generator](https://github.com/there4/markdown-resume) - PHP tool to convert markdown to PDF and HTML résumés.

### Misc

- [Sejda](https://www.sejda.com/) - Whole suite of PDF services, including conversion, security, manipulation, and more.
- [Potrivit](https://www.cbinsights.com/company/potrivit-beautiful-pdf-invoices) - Design PDF invoices.
- [PDFElement](https://pdf.wondershare.com/) - Software for editing, creating, conversion, and more.
- [ReLaXed](https://github.com/RelaxedJS/ReLaXed) - Create PDF files interactively in HTML.
- [nodeice](https://github.com/IonicaBizau/nodeice) - PDF invoice generator.
- [pdfparanoia](https://github.com/kanzure/pdfparanoia) - Watermark removal tool in Python.

## Software

- [Foxit Software](https://www.foxit.com/) - Multiple PDF-related products and other resources.
- [Adobe Acrobat](https://acrobat.adobe.com/us/en/acrobat.html) - Tools from the original creators of the PDF format.
- [XpdfReader](https://www.xpdfreader.com/) - Free PDF viewer and toolkit.
- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Formatting objects processor that supports PDFs.

## Guides and Tutorials

- [JavaTpoint](https://www.javatpoint.com/pdf) - Selection of clear, well-written guidance and information.
- [Acrobat Library](https://acrobatusers.com/) - Acrobat guides and tutorials.
- [Real Python](https://realpython.com/pdf-python/) - How to work with a PDF in Python.
- [Hand-coded PDF Tutorial](https://brendanzagaeski.appspot.com/0005.html) - Technical overview on working with PDFs.
- [Portable Document Format: An Introduction for Programmers](http://preserve.mactech.com/articles/mactech/Vol.15/15.09/PDFIntro/index.html) - Long, old overview of PDF files.
- [Make your own PDF File](https://blog.idrsolutions.com/2010/09/grow-your-own-pdf-file-part-1-pdf-objects-and-data-types/) - Excellent multi-part guide to creating PDF files.
- [Understanding the PDF File Format](https://blog.idrsolutions.com/2013/01/understanding-the-pdf-file-format/) - Outstanding overview and collection of posts about PDFs.
- [Creating a PDF in Swift with PDFKit](https://www.raywenderlich.com/4023941-creating-a-pdf-in-swift-with-pdfkit) - PDF tutorial using Apple’s PDFKit.
- [Convert PDF to Audio](https://dev.to/mustafaanaskh99/convert-any-pdf-file-into-an-audio-book-with-python-1gk4) - Guide to text to speech conversion with Python.
- [Creating PDF Files in Java](https://www.baeldung.com/java-pdf-creation) - Java tutorial using iText and PdfBox.
- [MathWorks](https://www.mathworks.com/matlabcentral/fileexchange/63615-read-text-from-a-pdf-document) - Reading a PDF in MATLAB using iText.
- [jsPDF HTML to PDF Tutorial](https://www.codementor.io/@amehjoseph/convert-html-css-content-to-a-sleek-multiple-page-pdf-file-using-jspdf-javascript-library-eyyz74hci) - Convert HTML to PDF using jsPDF in JavaScript.
- [HTML node tree to PDF tutorial](https://itnext.io/javascript-convert-html-css-to-pdf-print-supported-very-sharp-and-not-blurry-c5ffe441eb5e) - Convert an HTML node tree to PDF using jsPDF and html2canvas.

## Videos

- [Introducing PDFKit on iOS](https://developer.apple.com/videos/play/wwdc2017/241/) - Video and several other resources for Apple’s PDFKit.
- [PDF—What is it for?](https://www.youtube.com/watch?v=48tFB_sjHgY) - Computerphile video.
- [What is a PDF file?](https://www.youtube.com/watch?v=GtCfjFqphvM) - From Labelado.
- [How to Insert a Signature on a PDF File](https://www.youtube.com/watch?v=FKlAwFcMutY) - By eHow Tech.
- [How to Compress PDF File Size](https://www.youtube.com/watch?v=53tvJ_uD33M) - Tech-related tips.

## Credits/Other lists

- [awesome-list-pdf-creation](https://github.com/WesRoach/awesome-list-pdf-creation) - A good selection of PDF resources.
- [awesome-pdf](https://github.com/abhi18av/awesome-pdf) - Long list of resources, including many open-source projects.

## License

Released under the [MIT license](https://opensource.org/licenses/MIT).