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 13: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)

Web based (web-to-print)

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