Portable Document Format: Difference between revisions

From XPUB & Lens-Based wiki
Line 49: Line 49:
Thanks to the [[Ghostscript]] project, there are many free software tools that work with postscript and PDF.
Thanks to the [[Ghostscript]] project, there are many free software tools that work with postscript and PDF.


===Canvas based (GUI)===
{{ :Typesetting_Tools }}
 
* [[Scribus]] https://www.scribus.net/
* Laidout https://laidout.org/
* Inkscape https://inkscape.org/
 
===Web based (web-to-print)===
 
* your browser (based on [[Paged_Media_CSS_examples|CSS Paged Media]]): use CTRL+P/CMD+P
* [[Weasyprint]] https://weasyprint.readthedocs.io/
* [[Paged.js]] https://www.pagedjs.org/
* wkhtmltopdf https://wkhtmltopdf.org/
* OSPKit (CSS Regions legacy support!) http://osp.kitchen/tools/ospkit/
 
===Python===
 
* rinohtype (http://www.mos6581.org/rinohtype/master/)
* [[ReportLab]] https://www.reportlab.com/
* Flat http://xxyxyz.org/flat/
* pyPDF2 https://github.com/mstamy2/PyPDF2
 
===LaTeX based===
 
* LaTeX https://www.latex-project.org/
* ConTeXt  https://wiki.contextgarden.net/Main_Page
 
===Misc===
 
* groff https://www.gnu.org/software/groff/
* SILE https://sile-typesetter.org/
* [[Imagemagick]] https://imagemagick.org/


==Examples==
==Examples==

Revision as of 12:36, 9 February 2024


A proprietary format owned by Adobe until 2008, when it was released and relicensed as an ISO standard.

http://en.wikipedia.org/wiki/Portable_Document_Format

Readings

PDF & Postscript

PDF manipulating/editing tools

pdftk (the PDF toolkit)

pdfimages (part of poppler-utils)

pdfunite (part of poppler-utils)

pdftotext (part of poppler-utils)

$ pdftotext filename.pdf
$ pdftotext -layout filename.pdf (Maintain (as best as possible) the original physical layout of the text.)

pdfinfo (part of poppler-utils)

$ pdfinfo filename.pdf
$ pdfinfo -meta filename.pdf (print metadata)
$ pdfinfo -url filename.pdf (print all urls)
$ pdfinfo -dests filename.pdf (print all internal links)

pdffonts (part of poppler-utils)

rgb2cmyk.sh (using Ghostscript), part of OSP's pdfutils

coloseperation.sh (using Ghostscript), part of OSP's pdfutils

resize.sh (using Ghostscript), via OSP

imposition tools (multiple)

F/LOSS tools to make PDFs

Thanks to the Ghostscript project, there are many free software tools that work with postscript and PDF.


Canvas based (GUI)

CSS Print based (CSS Print)

P5.js based

Python based

TeX based

XML based

Misc

Examples

Pandoc

$ pandoc -f markdown --pdf-engine weasyprint -c stylesheet.css filename.md -o filename.pdf

Weasyprint

$ weasyprint -s stylesheet.css filename.html filename.pdf

ReportLab

from reportlab.pdfgen import canvas
from reportlab.lib.units import inch, cm
c = canvas.Canvas('ex.pdf')
c.drawImage('ar.jpg', 0, 0, 10*cm, 10*cm)
c.showPage()
c.save()

See also