User guide
View SourceChoose the task you want to perform.
| I want to | Guide |
|---|---|
| Create a PDF from HTML | Rendering examples |
| Check which HTML and CSS I can use | HTML and CSS support |
| Compare supported rendering with a browser | Browser rendering |
| Read or change a PDF's title, author, or dates | PDF information |
| Get page counts and dimensions | Page geometry |
| Extract text or its position on a page | Text extraction |
| Combine PDFs | Merging |
| Select, reorder, delete, rotate, or split pages | Page transforms |
| Add or read bookmarks | Outlines |
| Add a watermark, stamp, letterhead, or page numbers | Stamping |
| Inspect, fill, or flatten form fields | PDF forms |
| Embed files or list attachments | PDF attachments |
| Check whether a PDF can be read | PDF validation |
| Use PNG/SVG assets and handle image failures | Image processing |
| Handle an error | Diagnostics |
| Adjust document size or processing limits | Resource limits |
Working with files
Most PDF operations accept file contents as a binary:
alias NativeElixirPdfUtilities.Info
with {:ok, pdf} <- File.read("report.pdf") do
Info.page_count(pdf)
endHTML rendering and text extraction also provide file helpers. Each task guide shows the relevant function and its return value.
Inspecting PDF syntax
For access to individual PDF objects, use the PDF reader. For raw syntax tokens and byte positions, use the tokenizer. Neither is needed for the common tasks above.
See Licenses for the project and bundled-data notices, and the Changelog for released changes.