Date post: | 21-Dec-2014 |
Category: |
Technology |
Upload: | heiglandreas |
View: | 921 times |
Download: | 0 times |
... und das kann man dann als
PDF runterladen
... und das kann man dann als PDF runterladen
Was ist PDF
Was ist PDF nicht?
Warum PDF?
Auswahl von Bibliotheken
Vergleich
Code-Beispiele
Was ist PDF
Was ist PDF
Seitenbeschreibungs-Definition
PDF - 82 qm / 6,5kg Papier (1310 Seiten)
HTML - 24qm / 2kg Papier (389 Seiten)
Was ist PDF
Austauschformat
Containerformat
WYSIWYG
Was ist PDF nicht
Was ist PDF nicht
Unveränderlich
Immer gleich
Sicher
Warum PDF?
Warum?
Ausdrucken
Mitnehmen
Aufbewahren
Unveränderlich
Warum: Ausdrucken
@print{}
Highend-Druckdaten
Warum:Mitnehmen
@print{}
Speichern als PDF
Speichern als Webseite mit Bildern
Warum:Aufbewahren
Ah!
PDF-Dateien
PDF-Dateien mit Archiv-Informationen
Warum: Unveränderlich
Vergesst es!
Jedes PDF lässt sich bearbeiten und verändern!
Signierte PDF-Dateien
PDF und PHP
Bibliotheken
Konvertierender Ansatz
Programatischer Ansatz
BibliothekenKonvertierend
DOMPDF
HTML2PDF
pdflatex
PHPpdf
Document-Komponente der zetaComponents
DOMPDF
Nutzt intern PDFlib oder R&OS/CPDF
Nutzung: dompdf http://example.org
HTML2PDF
Nutzt intern TCPDF
Letzte Aktualisierung 2011
Nutzung: html2pdf http://example.org
pdflatex
Nutzt intern LaTeX
LaTeX-Dokument muss programmatisch erstellt werden
Nutzung: pdflatex meinHtmlDocument.tex
Wandelt dann in meinHtmlDocument.pdf
PHPpdf
Konvertiert XML > PDF
Basiert auf Zend_Pdf
ZetaComponents
Verarbeitet diverse Eingangsformate (XHTML, ReST, DocBook, odt, Confluence, Mediawiki)
Nutzt intern TCPDF oder Haru
Eigene Konverter möglich
// 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 );
BibliothekenProgrammatisch
FPDF/FPDI
PDF-PHP/CPDF
Zend_Pdf
pdflatex
PDFlib lite
TCPDF
PDFlib
FPDF
PHP 4
Nicht mehr weitergeführt
FPDI
Zum Import von PDF-Dateien
PHP-PDF/CPDF
Kommerzielle Bibliothek
Free for Non-Commercial use
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
pdflatex
Kein „in-memory“ erzeugen einer PDF-Datei
Lässt sich wunderbar auslagern
LaTeX-Kentnisse
libHaru
Freie PDF-Bibliothek
Länger keine Updates
C-Bibliothek auch für andere Sprachen
pdflib lite
Stand von PDFlib 7
Nur für Nicht-Kommerzielle OpenSource-Projekte
Kein Support
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....
PDFlib
teuer, ClosedSource
Dokumentation
Thomas Merz stehen hinter PDFlib
C-Bibliothek auch für andere Sprachen nutzbar
Neueste Features aus PDF
Vergleich
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
Code-BeispieleZu finden unter
https://github.com/heiglandreas/pdfexamples
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
Fragen?
Danke!