und das kann man dann als pdf runterladen
DESCRIPTION
Compare different technologies to create a PDF-file programaticallyTRANSCRIPT
![Page 1: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/1.jpg)
... und das kann man dann als
PDF runterladen
![Page 3: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/3.jpg)
... und das kann man dann als PDF runterladen
Was ist PDF
Was ist PDF nicht?
Warum PDF?
Auswahl von Bibliotheken
Vergleich
Code-Beispiele
![Page 4: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/4.jpg)
Was ist PDF
![Page 5: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/5.jpg)
Was ist PDF
Seitenbeschreibungs-Definition
PDF - 82 qm / 6,5kg Papier (1310 Seiten)
HTML - 24qm / 2kg Papier (389 Seiten)
![Page 6: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/6.jpg)
Was ist PDF
Austauschformat
Containerformat
WYSIWYG
![Page 7: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/7.jpg)
Was ist PDF nicht
![Page 8: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/8.jpg)
Was ist PDF nicht
Unveränderlich
Immer gleich
Sicher
![Page 9: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/9.jpg)
Warum PDF?
![Page 10: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/10.jpg)
Warum?
Ausdrucken
Mitnehmen
Aufbewahren
Unveränderlich
![Page 11: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/11.jpg)
Warum: Ausdrucken
@print{}
Highend-Druckdaten
![Page 12: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/12.jpg)
Warum:Mitnehmen
@print{}
Speichern als PDF
Speichern als Webseite mit Bildern
![Page 13: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/13.jpg)
Warum:Aufbewahren
Ah!
PDF-Dateien
PDF-Dateien mit Archiv-Informationen
![Page 14: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/14.jpg)
Warum: Unveränderlich
Vergesst es!
Jedes PDF lässt sich bearbeiten und verändern!
Signierte PDF-Dateien
![Page 15: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/15.jpg)
PDF und PHP
![Page 16: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/16.jpg)
Bibliotheken
Konvertierender Ansatz
Programatischer Ansatz
![Page 17: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/17.jpg)
BibliothekenKonvertierend
DOMPDF
HTML2PDF
pdflatex
PHPpdf
Document-Komponente der zetaComponents
![Page 18: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/18.jpg)
DOMPDF
Nutzt intern PDFlib oder R&OS/CPDF
Nutzung: dompdf http://example.org
![Page 19: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/19.jpg)
HTML2PDF
Nutzt intern TCPDF
Letzte Aktualisierung 2011
Nutzung: html2pdf http://example.org
![Page 20: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/20.jpg)
pdflatex
Nutzt intern LaTeX
LaTeX-Dokument muss programmatisch erstellt werden
Nutzung: pdflatex meinHtmlDocument.tex
Wandelt dann in meinHtmlDocument.pdf
![Page 21: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/21.jpg)
PHPpdf
Konvertiert XML > PDF
Basiert auf Zend_Pdf
![Page 22: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/22.jpg)
ZetaComponents
Verarbeitet diverse Eingangsformate (XHTML, ReST, DocBook, odt, Confluence, Mediawiki)
Nutzt intern TCPDF oder Haru
Eigene Konverter möglich
![Page 23: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/23.jpg)
// Convert some input RSTfile to docbook$document = new ezcDocumentRst();$document-‐>loadFile( './article/introduction.txt' );
// Load the docbook document and create a PDF from it$pdf = new ezcDocumentPdf();$pdf-‐>options-‐>errorReporting = E_PARSE | E_ERROR | E_WARNING;
// Load a custom style sheet$pdf-‐>loadStyles( 'custom.css' );
// Add a customized footer$pdf-‐>registerPdfPart( new ezcDocumentPdfFooterPdfPart( new ezcDocumentPdfFooterOptions( array( 'showDocumentTitle' => false, 'showDocumentAuthor' => false, 'height' => '10mm', ) )) );
// Add a customized header$pdf-‐>registerPdfPart( new ezcDocumentPdfHeaderPdfPart( new ezcDocumentPdfFooterOptions( array( 'showPageNumber' => false, 'height' => '10mm', ) )) );
$pdf-‐>createFromDocbook( $document-‐>getAsDocbook() );file_put_contents( __FILE__ . '.pdf', $pdf );
![Page 24: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/24.jpg)
BibliothekenProgrammatisch
FPDF/FPDI
PDF-PHP/CPDF
Zend_Pdf
pdflatex
PDFlib lite
TCPDF
PDFlib
![Page 25: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/25.jpg)
FPDF
PHP 4
Nicht mehr weitergeführt
![Page 26: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/26.jpg)
FPDI
Zum Import von PDF-Dateien
![Page 27: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/27.jpg)
PHP-PDF/CPDF
Kommerzielle Bibliothek
Free for Non-Commercial use
![Page 28: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/28.jpg)
Zend_Pdf
Wird aktuell nicht weiterentwickelt
Rewrite steht z.Zt. nicht an
Basiert auf PDF-1.4
Einziges Projekt, das PDFs bearbeiten kann!!
Sauberer OO-PHP-Code
![Page 29: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/29.jpg)
pdflatex
Kein „in-memory“ erzeugen einer PDF-Datei
Lässt sich wunderbar auslagern
LaTeX-Kentnisse
![Page 30: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/30.jpg)
libHaru
Freie PDF-Bibliothek
Länger keine Updates
C-Bibliothek auch für andere Sprachen
![Page 31: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/31.jpg)
pdflib lite
Stand von PDFlib 7
Nur für Nicht-Kommerzielle OpenSource-Projekte
Kein Support
![Page 32: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/32.jpg)
TCPDFFree & OpenSource
Dokumentation lässt zu wünschen übrig.
Nicola Asuni steht hinter TCPDF
Import von PDF-Dateien nur über FPDI
Signierte PDFs sind einfach zu erstellen
Funktionsumfang ausreichend
Code smells....
![Page 33: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/33.jpg)
PDFlib
teuer, ClosedSource
Dokumentation
Thomas Merz stehen hinter PDFlib
C-Bibliothek auch für andere Sprachen nutzbar
Neueste Features aus PDF
![Page 34: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/34.jpg)
Vergleich
![Page 35: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/35.jpg)
VergleichTCPDF PDFlib
KostenLizenz
PDF erstellenPDF bearbeiten
PDF importierenverschlüsseln
GeschwindigkeitStandards
SchrifttypenSprache
0,- ab 800,- €GPL3 Commercial
✔ ✔
✘ ✘
✔ (mit FPDF) ✔ (Je nach Lizenz)
✔ ✔ (mit Zusatzprodukt)
10 PDF in > 10 s 50 PDF in 4,08sPDF/A-1b PDF/A1-3, PDF/X1-4, PDF/VT, PDF/UA
TrueType, OpenType(TTF), Type1, CID TrueType, OpenType, Type1, CID
PHP C
![Page 36: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/36.jpg)
Code-BeispieleZu finden unter
https://github.com/heiglandreas/pdfexamples
![Page 37: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/37.jpg)
ressourceshttp://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdfhttp://www.w3.org/TR/REC-html40/http://www.pdfx-ready.ch/index.php?show=496https://github.com/dompdf/dompdfhttp://html2pdf.fr/de/defaulthttps://de.wikipedia.org/wiki/PdfTeXhttps://github.com/psliwa/PHPPdfhttps://github.com/zetacomponents/Documenthttp://www.fpdf.orghttps://github.com/lsolesen/fpdihttps://github.com/johnwhitington/cpdf-sourcehttp://framework.zend.com/manual/1.12/de/zend.pdf.usage.htmlhttp://libharu.orghttp://pdflib.comhttp://tcpdf.org
![Page 38: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/38.jpg)
Fragen?
![Page 39: und das kann man dann als PDF runterladen](https://reader036.vdokument.com/reader036/viewer/2022062616/54968fd9b4795956208b467f/html5/thumbnails/39.jpg)
Danke!