Difference between revisions of "Portable Document Format"

From Media Design: Networked & Lens-Based wiki
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
http://en.wikipedia.org/wiki/Portable_Document_Format
 
http://en.wikipedia.org/wiki/Portable_Document_Format
 +
 +
* https://www.vice.com/en/article/pam43n/why-the-pdf-is-secretly-the-worlds-most-important-file-format
 +
* https://planetpdf.com/planetpdf/pdfs/warnock_camelot.pdf
  
 
== Free software tools that work with PDF ==
 
== Free software tools that work with PDF ==
 +
Thanks to the [[Ghostscript]] project, there are many free software tools that work with postscript.
 +
 
* pdftk
 
* pdftk
 
* poppler
 
* poppler
Line 21: Line 26:
 
* [http://www.reportlab.com/opensource/ reportlab]
 
* [http://www.reportlab.com/opensource/ reportlab]
 
* [https://github.com/mstamy2/PyPDF2 pyPDF2]
 
* [https://github.com/mstamy2/PyPDF2 pyPDF2]
 +
 +
== Examples ==
 +
An example using reportlab (see http://stackoverflow.com/questions/2252726/how-to-create-pdf-files-in-python)
 +
<source lang="python">
 +
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()
 +
</source>

Latest revision as of 16:06, 1 November 2020

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

Free software tools that work with PDF

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

Cookbook

apt-get install poppler-utils
pdftocairo -png mydoc.pdf

Creates a series of PNG files.

Python tools to manipulate / generate PDF

Examples

An example using reportlab (see http://stackoverflow.com/questions/2252726/how-to-create-pdf-files-in-python)

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()