[[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/Oxygen/pdf.png, 48, align=left)]] Das [wikipedia:Portable_Document_Format:Portable Document Format] (PDF) wurde ab 1991/92 von der Firma Adobe Systems entwickelt. PDF-Dateien haben sich rasch zum Standard für den Dokumentenaustausch entwickelt. PDF weist mehrere Vorteile gegenüber anderen Formaten auf: * [:Freie_Standards:Offenes Format]: PDF ist als de-facto-Standard für den sicheren und zuverlässigen Austausch elektronischer Daten von Regierungseinrichtungen und Wirtschaftsunter­nehmen weltweit anerkannt mit etablierten Branchenstandards wie PDF/A, PDF/X und PDF/E. * Plattformunabhängigkeit: PDF-Dateien lassen sich auf sehr vielen Plattformen anzeigen und ausdrucken, z. B. unter Macintosh, Microsoft Windows und UNIX sowie auf vielen mobilen Geräten. * Wahrung der Datenintegrität: PDF-Dateien behalten das Erscheinungsbild der Originaldokumente bei und bewahren alle Informationen des Ausgangsdokuments – so Text, Zeichnungen, 3D- und Farbgrafiken, Fotos und sogar die Business-Logik –, unabhängig davon, welche Anwendung bei der Erstellung eingesetzt wurde. * Leistungsstarke Suchfunktionen: PDF-Dokumente können nach Wörtern, Lesezeichen und Datenfeldern durchsucht werden. * Barrierefreiheit: PDF-Dokumente unterstützen technische Hilfsmittel, die Anwendern mit Behinderungen den problemlosen Zugriff ermöglichen. Die mit [wikipedia:Adobe_Acrobat:Acrobat] 8 eingeführte PDF-Version 1.7 wurde 2008 – neben speziellen älteren Versionen – zum [heise:-182898:ISO-Standard erhoben] {de}. Es gibt eine ganze Reihe von unterschiedlichen Programmen, um PDF-Dateien anzuzeigen und zu bearbeiten. Im Folgenden sollen einige davon vorgestellt werden. {{{#!vorlage Hinweis PDF ist ein Seitenbeschreibungsformat und damit in erster Linie ein Exportformat. Daher sollte man nach Möglichkeit das Originaldokument (z.B. '''.odt''', '''.lyx''', '''.tex''' etc.) aufheben, um auch später noch Änderungen mit dem Ursprungsprogramm durchführen zu können (Ausnahme: Nicht nötig bei in PDF eingebetteten Quelldaten, z.B '''.odt'''). }}} [[Anker(PDF-Dateien-lesen)]] = PDF-Dateien anzeigen, kommentieren und Formulare ausfüllen = Unter Linux ist das Anzeigen von PDF-Dokumenten problemlos möglich, es gibt dafür viele verschiedene Programme. Hier sollen nur die wichtigsten aus dem Umfeld von Ubuntu vorgestellt werden. Mit allen vorgestellten Programmen lassen sich Texte markieren und kopieren sowie der Inhalt drehen. Viele Programme unterstützen das Kommentieren gut. Von den freien Programmen sind nur manche in der Lage, Formulare ausfüllen. Die meisten freien PDF-Programme verwenden die Bibliothek '''libpoppler'''. [:MuPDF:] bietet allerdings bei zahlreichen Anwendungsfällen (z. B. viele eingebettete Bilder) eine deutlich schnellere und qualitative bessere Anzeige. {{{#!vorlage Tabelle <-8 rowclass="titel" tablestyle="width: 97%;">Programme zum Lesen von PDF-Dateien +++ Name <:>Kommentare anzeigen <:>Kommentare erstellen <:>Formulare ausfüllen <:>Formulare speichern <:>Tabs <:>Präsentations-[[BR]]modus <:>Lesezeichen +++ [:Evince:] Ja Ja (seit Version 3.30) Bedingt Nein Nein Ja Ja +++ [:Foxit Reader:] Ja Ja Ja Ja Ja Ja Ja +++ [:Master PDF Editor:] Ja Ja Bedingt (Wasserzeichen)* Ja Ja Nein Ja +++ [:MuPDF:] Nein Nein Nein Nein Nein Ja Ja +++ [:Okular:] Ja Ja Bedingt Ja Ja Ja Ja +++ [:qpdfview:] Ja Ja Bedingt Ja Ja Ja Ja +++ [:Xpdf:] Nein Nein Nein Nein Nein Nein Ja +++ [:zathura:] Nein Nein Nein Nein Nein Ja Ja +++ [:Firefox:] Ja Nein Bedingt Ja Ja Ja Ja }}} * In der älteren Version 4.3.89 kann der Master PDF Editor Formulare noch ohne Einschränkungen ausfüllen. 3D-Inhalte und Animationen in PDFs, die mit dem LaTeX-Paket [https://gitlab.com/agrahn/animate Animate] {en} erstellt worden sind, können unter anderem mit [:Okular:] korrekt angezeigt werden. In manchen freien PDF-Betrachtern fehlt diese Funktionalität leider. Der [:Internetanwendungen/#Webbrowser:Webbrowser] [:Chromium:] kann auch PDF-Dateien anzeigen und zum Ausfüllen von Formularen verwendet werden. Ab Version 90 kann Chromium Formulare auch speichern. = PDF-Dateien erstellen = Unter Linux lassen sich PDF-Dateien mit einigen Programmen direkt erstellen (siehe Tabelle). Bei allen anderen Programmen greift man entweder auf die in den Dialog ''"Datei -> Drucken"'' integrierte Möglichkeit ''"In Datei drucken"'' oder einen PDF-Drucker wie [:CUPS-PDF:] zurück. {{{#!vorlage Tabelle <-2 rowclass="titel" tablestyle="width: 97%;">Programme zum Erstellen von PDF-Dateien +++ Name Hinweis +++ [:Apache_OpenOffice:] / [:LibreOffice:] ''"Datei -> Exportieren als PDF", beim Speichern kann "mit Kennwort speichern" ausgewählt werden, separates Kennwort zum Öffnen wie auch zum Bearbeiten.'' +++ [:Abiword:] Im ''"Speichern unter"''-Dialog kann das Format PDF direkt ausgewählt werden. +++ [:Calligra:] / KOffice ''"Datei -> Export as PDF..."'' +++ [:Inkscape:] ''"Datei -> Speichern unter..."'' +++ [:Scribus:] ''"Datei -> Exportieren -> Als PDF speichern..."'' +++ [:CUPS-PDF:] Virtueller PDF Drucker +++ [:gscan2pdf:] PDF-Dokumente aus gescannten Dokumenten erstellen +++ [:ImageMagick:] Sammlung von Werkzeugen für die Kommandozeile +++ [https://pypi.org/project/img2pdf/ img2pdf] {en} Verlustlose Umwandlung von [wikipedia:Rastergrafik: Rastergrafiken] in PDF-Dateien mittels Kommandozeile +++ [:Paperwork:] Digitale Dokumenteverwaltung, Export als PDF auch mit Textlage möglich +++ [:ReportLab:ReportLab Toolkit] Python-Modul, mit dem man aus Python-Skripten heraus PDF-Dateien erstellen kann +++ [http://rst2pdf.ralsina.me/stories/index.html rst2pdf] {en} Konvertiert Textdateien mit Auszeichnungssprache [wikipedia:ReStructuredText:] über das [:ReportLab:ReportLab Toolkit] in PDF-Dokumente, auch eine einfachere Alternative zu [:LaTeX:] +++ [:tesseract-ocr#Direktes-Erstellen-von-PDF-Dateien:tesseract-ocr] Mit dem Konfigurationsskript '''pdf''' kann tesseract direkt PDF-Dateien mit durchsuchbarer Textlage erstellen +++ TeX siehe [:LaTeX:] und [:XeTeX:] +++ [:XSane:] Aus dem Scanprogramm können Scans als PDF gespeichert werden, [:xsane2OCRmyPDF:] erstellt zugleich eine durchsuchbare Texterkennung dazu +++ [:ImageMagick#convert:`convert`] Mit dem Werkzeug `convert` aus [:ImageMagick:] können aus Bildvorlagen direkt PDF-Dateien erstellt werden, bietet vielfältige Konfigurationsmöglichkeiten +++ [:ExactImage#econvert:`econvert`] `econvert` aus [:ExactImage:] kann ebenfalls aus fast allen Bildvorlagen PDF-Dateien erstellen +++ [:gImageReader:] Als ''"hORC, PDF"'' verarbeitete Vorlagen können über ''"Ausgabe -> Export"'' als PDF mit einer Vielzahl von Optionen ausgegeben werden. }}} [[Anker(oversized)]] {{{#!vorlage Experten Graphische PDF-Dateien, die aus Bilddateien (Scanner-Augaben o.ä.) erstellt wurden (z.B. mit `convert`, `econvert`, `hocr2pdf`, dem [:pct-scanner-script:] oder Tesseract mit dem Konfigurations-Skript `pdf`), können in den Abmessungen sehr groß werden, insbesondere, wenn die Vorlagen mit einer Auflösung von 300 dpi (Standard für [:Texterkennung:]) oder mehr erstellt wurden. Die genannten Programme scheinen intern eine Auflösung von 72 dpi vorauszusetzen (zum Lesen völlig ausreichend, für Texterkennung aber nicht), was dazu führt, dass die Ausgabedateien bei 300 dpi um den Faktor 4,1666 (300 geteilt durch 72) vergrößert werden. Das ergibt z.B. bei einer Eingabegröße im DIN-A4-Format (210 mm x 297 mm) eine Ausgabedatei mit den erstaunlichen Maßen von 875 mm x 1238 mm (mehr als DIN-A0). Wenn eine solche Datei dann nochmals weiterverarbeitet werden soll (z.B. mit [:pdfsandwich:], [:pdfocr:] o.ä.), entstehen zum einen noch monströsere Ausmaße (mehr als 3,5 x 5 Meter!), zum anderen kommt beim Versuch einer Weiterverarbeitung so gut wie jeder Rechner an seine Speicher- und CPU-Leistungsgrenzen und wird unbedienbar! Eine solche Riesendatei lässt sich z.B mit [:Ghostscript:] wieder reduzieren (hier ein Beispiel für DIN-A4-Format): {{{#!vorlage Befehl gs -sOutputFile="EINGABEa4.pdf" -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dFIXEDMEDIA -dPDFFitPage -dNOPAUSE -dBATCH EINGABE.pdf \}}} Genauer lässt sich die Bild-Datei mit `identify` ausmessen und dann das PDF mit `convert` (beide aus [:ImageMagick:]) auf exakt den Ausgangswert wieder zurückführen: {{{#!vorlage Befehl SIZE=`identify EINGABE.DATEI | cut -d " " -f 3 ` convert EINGABE.pdf -resize $SIZE -units PixelsPerInch -density 300x300 AUSGABE.pdf \}}} }}} = PDF-Dateien bearbeiten = Normalerweise ist PDF ein Exportformat. Das bedeutet, dass man eine Originaldatei hat (z.B. eine ODT) und diese als PDF exportiert. Dabei sollte man die Originaldatei immer aufbewahren, falls man später Änderungen an dem Dokument vornehmen möchte. Dennoch ist es oft notwendig, eine vorhandene PDF-Datei zu manipulieren. Es gibt einige Werkzeuge, mit denen man PDF-Seiten sortieren, löschen oder aufteilen kann. Hier ist es nicht möglich, Texte oder andere Inhalte zu ändern. {{{#!vorlage Tabelle <-8 rowclass="titel" tablestyle="width: 97%;">Programme zum Bearbeiten von PDF-Dateien +++ Name <:>Zusammenfügen <:>Sortieren <:>Aufsplitten <:>Text bearbeiten <:>Text farbig hervorheben <:>Sicherheits-[[BR]]richtlinien <:>Metadaten bearbeiten +++ [:PDF_Arranger:] Ja Ja Ja Nein Nein Nein Nein +++ [:PDF Split and Merge:] Ja Ja Ja Nein Nein Nur in enhanced-Version Nein +++ [https://pdfmerge.w69b.com/ PDF Mergy] {en} (online) Ja Nein Nein Nein Nein Nein Nein +++ [:PDF Mod:] Ja Ja Ja Nein Nein Nein Ja +++ [:pdftk:] (Konsole) / [:PDF_Chain:] (GUI) Ja Ja Ja Nein Nein Teilweise Ja +++ [:Okular:] Nein Nein Nein Nein Ja Nein Nein +++ [https://online-umwandeln.de Online-Umwandeln.de] {de} (online) Ja Ja Ja Nein Nein Nein Nein }}} Sollen Inhalte geändert oder hinzugefügt werden, kommen folgende Anwendungen in Betracht. {{{#!vorlage Tabelle <-2 rowclass="titel" tableclass="zebra">Programme zum Bearbeiten/Hinzufügen von Inhalten in PDF-Dateien +++ [:Apache_OpenOffice:] / [:LibreOffice:] Eine PDF-Datei kann mit einer Erweiterung importiert und bearbeitet werden. +++ [:Inkscape:] Einzelne PDF-Seiten können importiert und bearbeitet werden. +++ [:Scribus:] Ermöglicht ab Version 1.5.x das importieren und umfassende bearbeiten von PDF-Dokumenten. Die Kompatibilität ist im Allgemeinen sehr gut. +++ flpsed Einfügen von Bemerkungen in PostScript- und PDF-Dokumente +++ [:Master PDF Editor:] Plattformübergreifendes, proprietäres Programm zur Bearbeitung von PDF- und XPS-Dateien +++ [https://sites.google.com/site/pdfscissors/ PDF Scissors] {en} Ermöglicht das Beschneiden und Teilen von einzelnen PDF-Seiten. Es lassen sich z.B. zweispaltige Dokumente in einem Arbeitsgang in einspaltige umwandeln. Benötigt [:Java:]. +++ [:Krita:], [:GIMP:] und [:Xournal:] Import einer PDF und Bearbeitung wie in einem Bildbearbeitungsprogramm möglich. Diese Vorgehensweise führt allerdings zu deutlichen Qualitätsverlusten, weil die PDF-Vektorgrafik dafür in eine Rastergrafik umgewandelt werden muss. }}} Weitere PDF-Software für Linux findet sich auch in der [wikipedia_en:List_of_PDF_software#Linux_and_Unix: englischen Wikipedia], für alle Betriebssysteme gibt es auch weitere PDF-Editoren in der [wikipedia:Liste_von_PDF-Software#Programme_zum_Bearbeiten_von_PDF-Dateien: deutschen Wikipedia]. = Hilfsprogramme = Es gibt noch weitere nützliche Werkzeuge, die im Zusammenhang mit PDF-Dateien erwähnt werden sollten. {{{#!vorlage Tabelle <-2 rowclass="titel" tableclass="zebra_start3" tablestyle="width: 97%;">Hilfsprogramme +++ Name Beschreibung +++ [https://www.qtrac.eu/diffpdf-foss.html diffpdf] {en} PDF-Dateien vergleichen (graphisch, Buchstabe-für-Buchstabe oder Wort-für-Wort). Die freie Version wird nicht mehr weiterentwickelt, ist aber noch in den Paketquellen (universe) enthalten. +++ [https://vslavik.github.io/diff-pdf/ diff-pdf] {en} PDF-Dateien vergleichen. Praktisch ist die Ausgabe als neue PDF-Datei, um die Unterschiede optisch prüfen zu können +++ [:Ghostscript:] Mächtiges Programm zum Darstellen, Konvertieren in andere Formate, Überprüfen, Zusammenführen etc. von PDF- und PS-Dateien +++ [:pdfgrep:] Text in PDF-Dateien mit Hilfe von regulären Ausdrücken durchsuchen +++ [https://flavianopetrocchi.blogspot.com/ JPdfBookmarks] {en} Verwaltung von Lesezeichen, die in der PDF gespeichert werden. +++ [github:rrthomas/pdfjam:PDFJam] Sammlung von Programmen und Skripten, mit denen PDF-Dateien manipuliert werden können +++ [:poppler-utils:] Programme für die Kommandozeile, mit denen man u.a. PDF-Dateien vereinigen, Text und Bilder aus PDF-Dateien extrahieren sowie PDF-Dokumente in Bild-Dateien oder HTML-Seiten umwandeln kann +++ [:pdfocr:] Ermöglicht es, aus gescannten PDF-Vorlagen durchsuchbare Dokumente zu erstellen +++ [:pdfposter:] Erstellung großformatige Poster aus PDF-Dateien +++ [:pdfsandwich:] Kommandozeilenwerkzeug zum Erstellen durchsuchbarer PDF-Dateien +++ [:OCRmyPDF:] Kommandozeilenwerkzeug zum Erstellen durchsuchbarer Dateien im PDF/A-Standard +++ [github:pts/pdfsizeopt:pdfsizeopt] {en} Optimierung der Größe einer PDF-Datei +++ [:pdf2djvu:] Kommandozeilenwerkzeug zur Konvertierung von PDF-Dateien in das DjVu-Format +++ [:pdf2djvu#Grafische-Benutzeroberflaeche:Pdf To Djvu GUI] Benutzeroberfläche für pdf2djvu +++ [:pdf2svg:] Konvertierung in das SVG-Format +++ [:DjVuDigital:] Kommandozeilen-Programm zum Konvertieren von PDFs, PostScript ('''.ps'''), GZipped PostScript ('''.ps.gz''') und Encapsulated PostScript ('''.eps''') in das [:DjVu:]-Format +++ [:djvu2pdf:] Konvertierung von DjVu-Dateien in das PDF-Format, Textlagen können mit übernommen werden +++ [https://www.opendesktop.org/p/1227799/ Service Menu-PDF] {en} Nutzung von gängigen PDF-Werkzeugen ([:pdf2djvu:], [:Ghostscript:], [:poppler-utils:], [:pdftk:] und PDFjam) über das Kontextmenü von [:Dolphin:] bzw. [:Konqueror:]. +++ [sourceforge2:BRISS:] {en} Zuschneiden von PDF-Dateien +++ [https://github.com/arminstraub/krop krop] {en} Zuschneiden von PDF-Dateien mit optionaler automatischer Erkennung des Textbereichs. Einfacher und mächtiger als das Beschneide-Werkzeug, welches Adobe in den sehr teuren Bezahlversionen anbietet. Fremdpaket verfügbar, welches einwandfrei unter (K)ubuntu funktioniert. +++ [https://github.com/cfcurtis/pdfstitcher PDFStitcher] {en} Ein Programm zum Bearbeiten von PDF-Nähpatterns. Unterstützt das Zusammenfügen von Seiten und das Verändern von Linien-Eigenschaften. Bisher nicht in den Ubuntu-Paketquellen enthalten. +++ [sourceforge2:jpdftweak:jPdfTweak] {en} Java-Programm zur Bearbeitung von PDF-Dateien: zusammenfügen, verschlüsseln, Wasserzeichen, Metadaten, etc. +++ [https://www.unixuser.org/~euske/python/pdfminer/ PDFMiner] {en} Extrahieren von Informationen aus PDF-Dokumenten. Das Paket [packages:python-pdfminer:] enthält das Python-Modul und die Befehlszeilen-Werkzeuge `pdf2txt` und `dumppdf`. +++ [googlecode:sam2p:] {en} Umwandlung von Rastergrafiken mit zahlreichen Optionen. In den offiziellen Paketquellen für 16.04 enthalten: [packages:sam2p:] }}} = Alternativen = Ein alternatives Format zu PDF ist [:DjVu:], das allerdings weitaus weniger verbreitet ist. Eine weitere Alternative ist [wikipedia:XML_Paper_Specification:XPS], welches von Microsoft entwickelt wurde. Es ist aber ebenfalls deutlich weniger verbreitet als PDF. XPS-Dateien können auf Linux z.B. von [:Evince:] und [:Okular:] geöffnet werden. = Problembehebung = == PDF-Formulare == Mit Adobe Acrobat (speziell Adobe LiveCycle Designer 11.0) unter Windows erstellte Formulare sorgen immer wieder für Verdruss, besonders, wenn sie von Behörden (z.B. BAFzA) angeboten werden. Statt dem erhofften Formular öffnet sich eine Dummy-Seite "Please wait ...". Generell gilt, dass für eine wie vom Ersteller gedachte Funktionsweise der Adobe Reader in einer möglichst aktuellen Version benötigt wird (der für Linux nicht vorhanden ist). Momentan (Stand 11/2020) funktioniert das Öffnen solcher Formulare unter Linux mit dem proprietären [:Master PDF Editor:]. == PDF-Portfolios == Mit [https://www.adobe.com/de/products/acrobat/combine-pdf-files-portfolio.html PDF-Portfolios] {de} bietet Adobe die Möglichkeit an, in eine Datei mit der Endung '''.pdf''' alle möglichen Fremdformate einzubinden. Eine ähnliche Technik gab es früher schon mal unter dem Namen "Microsoft Office Sammelmappe", um Word-, Excel- und PowerPoint-Dateien in einer Datei abspeichern zu können. Wer experimentieren möchte, kann dies mit folgender Beispieldatei tun: [https://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/feature-details/acrobat/axi/pdfs/combine-pdf-files-portfolio-sample.pdf combine-pdf-files-portfolio-sample.pdf] {dl}. Ein Indiz für eine solche Datei kann die Versionsangabe "1.7" sein: ## Link https://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/feature-details/acrobat/axi/pdfs/combine-pdf-files-portfolio-sample.pdf combine-pdf-files-portfolio-sample.pdf funktioniert nicht, 404 (17.07.2018 Beforge) {{{#!vorlage Befehl file combine-pdf-files-portfolio-sample.pdf }}} Ausgabe: {{{ combine-pdf-files-portfolio-sample.pdf: PDF document, version 1.7 }}} Zur Anzeige eines PDF-Portfolios wird der Adobe Reader X oder neuer benötigt, der für Linux nicht verfügbar ist. Zumindest die Programme [:Okular:] und [:Master_PDF_Editor:] können aber die enthaltenen Dateien (Anhänge) extrahieren. = Links = * [https://www.pdfreaders.org/ Freie PDF-Betrachter] {de} * [https://www.linux-community.de/ausgaben/linuxuser/2010/01/werkzeuge-fuer-pdf-und-postscript-teil-6/ Postscript/PDF-Tools] {de} sechsteilige Serie im Magazin LinuxUser * [http://freiesmagazin.de/mobil/freiesMagazin-2009-07-bilder.html#09_07_pdf-quicksplit PDF-Zerteilung nach Maß] {de} - Artikel aus freiesMagazin, 07/2009 ([http://www.freiesmagazin.de/ftp/2009/freiesMagazin-2009-07.pdf komplette Ausgabe als PDF] {dl}) * [http://www.freiesmagazin.de/mobil/freiesMagazin-2009-08-bilder.html#09_08_pdf-viewer PDF-Betrachter im Test] {de} - Artikel aus freiesMagazin, 08/2009 ([http://www.freiesmagazin.de/ftp/2009/freiesMagazin-2009-08.pdf komplette Ausgabe als PDF] {dl}) * [http://www.easylinux.de/Artikel/ausgabe/2007/01/064-pdfsam/ PDF-Dateien splitten und zusammenfügen] {de} - Artikel EasyLinux, 01/2007 * [https://www.linux-community.de/ausgaben/linuxuser/2005/04/mit-pdflatex-bessere-pdf-dateien-erzeugen/ Mit pdflatex bessere PDF-Dateien erzeugen] {de} - Artikel LinuxUser, 04/2005 * [https://blog.didierstevens.com/programs/pdf-tools/ PDF Tools] {en} - u.a. PDF-Dokumente nach verdächtigen Elementen und (Java-)Skriptbefehlen durchsuchen * [https://www.numbertext.org/linux/Lively_Alphabet.pdf Lively Alphabet - an open source coloring book] {en} {dl} - PDF-Beispieldatei für Präsentationen * [wikipedia:Liste von PDF-Software:] – Wikipedia # tag: Büro, Grafik, PDF, Übersicht