Dienstag, 4. Oktober 2016
20:42 Uhr
20:42 Uhr
Dokuwiki Seiten als PDF exportieren durch Plugin DW2PDF und technischer Hintergrund zum Erstellen von PDF mit PHP
Wie unter "Erste Erfahrungen mit DokuWiki als Wiki (Installation)" beschrieben nutze ich für eine Dokuwiki Installation derzeit das Template "MonoBook" wodurch die klassische Wikipedia Oberfläche nachempfunden wird. Auf diese Weise ist mein Wiki relativ übersichtlich und kann für mehrere Projekte und unterschiedliche Projektgruppen verwendet werden.
Derzeit sieht die Oberfläche wie folgt aus:

Dabei bin ich, zumindest für die Dokumentation von diversen Prozessen und Handbüchern ziemlich der im Artikel "Erste Erfahrungen mit Dokuwiki Konzept + Herangehensweise (Grundlagen)" angedachten Überlegungen treu geblieben. Allerdings habe ich für einzelne Projekte einen eigenen Namensraum verwendet, so dass sowohl Projekte im Ehrenamt aber auch für andere Bereiche sauber durch Namensräume und entsprechende Benutzergruppen getrennt sind.
Als Vorteil hat sich hier das Navigationsverzeichnis und Plugin Indexmenue (siehe "Erste Erfahrungen mit Dokuwiki: Vorteile von Wiki und Internetseite im Indexmenu vereinen") gezeigt, wodurch relativ schnell neue Unterseiten angelegt werden können aber sich auch die Projektteilnehmenden schnell zu recht gefunden haben.
Anhand einzelner Berechtigungsvergaben sind die entsprechenden Unterseiten nur für einzelne Projektteilnehmende frei gegeben und es kann hier relativ entspannt gearbeitet werden.

Besonders durch die schon in anderen Programmen vertraute Oberfläche ist es hier ein leichtes entsprechende Texte zu bearbeiten.
Hierzu nutze ich das DW2PDF Plugin und bin damit von Anfang an sehr glücklich, auch da es mir zu einzelnen Überschriften ein Inhaltsverzeichnis anlegte um in entsprechend erzeugten PDF Dokumente zu navigieren.
Hierzu habe ich die Datei tabs.php im Dokuwiki Verzeichnis unter
Durch einen Klick auf "Export: PDF" steht das aktuelle Dokument als PDF zur Verfügung.

Kritisiert wurde jedoch durch die Projektgruppe dass durch das verwendete Template innerhalb des Plugin weitere Zusatzinformationen, so zum Beispiel URL oder auch QR Code mit eingebunden worden sind.
Daher habe ich in den Einstellungen zum Plugin unter den Punkt
"Plugin»dw2pdf»template- Welches Template soll zur Formatierung der PDFs verwendet werden?" in der Admin Oberfläche unter den Punkt Konfiguarion und hier bei den Einstellungen des Plugin DW2PDF.

ein eigenes Template hinterlegt.
Da mir ja relativ klar war, dass ich keine weiteren Zusatzinfos zum vorhandenen Design der Seite haben wollte habe ich den Ordner default nach unkelbach kopiert.
Nun müssen nur noch die einzelnen Dateien bearbeitet werden.
Grundsätzlich hätte hier aber neben HTML Code auch Platzhalter wie: @WIKIURL@ oder @DATE@ für das Erstellungsdatum des PDF hinterlegt werden. Besonders elegant für citation.html sind natürlich auch @QRCODE@ für einen QR Code zur Seite oder auch @PAGEURL@ für die direkte URL zum Artikel.
Innerhalb des Templatev Verzeichnis liegt auch die Datei readme.txt in der weitere Möglichkeiten zur Gestaltung hinterlegt sind.
So kann auch ein Cover verwirklicht werden ebenso wie eine letzte Seite. Gerade wenn Seiten eines Wiki auch als Vorlage zum Weitergeben gedacht sind, eignet sich dieses Plugin besonders gut um hier mittels PDF auch fertige Dokumente auszutauschen.
Hierdurch kann das Plugin auch Lesezeichen in PDF erstellen und auch erweiterte PDF Funktionen nutzen.
Thomas Weise hat auf drweb.de im Artikel "PDF-Dokumente mit PHP erzeugen" zu diesen Anwendungsfall ebenfalls eine umfangreiche Dokumentation erstellt. Allerdings wird hier die Klasse FPDF verwendet.
Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Derzeit sieht die Oberfläche wie folgt aus:

Dabei bin ich, zumindest für die Dokumentation von diversen Prozessen und Handbüchern ziemlich der im Artikel "Erste Erfahrungen mit Dokuwiki Konzept + Herangehensweise (Grundlagen)" angedachten Überlegungen treu geblieben. Allerdings habe ich für einzelne Projekte einen eigenen Namensraum verwendet, so dass sowohl Projekte im Ehrenamt aber auch für andere Bereiche sauber durch Namensräume und entsprechende Benutzergruppen getrennt sind.
Als Vorteil hat sich hier das Navigationsverzeichnis und Plugin Indexmenue (siehe "Erste Erfahrungen mit Dokuwiki: Vorteile von Wiki und Internetseite im Indexmenu vereinen") gezeigt, wodurch relativ schnell neue Unterseiten angelegt werden können aber sich auch die Projektteilnehmenden schnell zu recht gefunden haben.
Anhand einzelner Berechtigungsvergaben sind die entsprechenden Unterseiten nur für einzelne Projektteilnehmende frei gegeben und es kann hier relativ entspannt gearbeitet werden.
CKGEdit für WYSIWYG Editor
Besonders durch den im Artikel "Dokuwiki Plugin CKGEdit und Hochladen von PDF, Excel oder andere Medien" ist es auch für Neulinge recht einfach sich ohne Syntax an die Bearbeitung von Artikeln zu wagen und diese auch relativ einfach zu bearbeiten.
Besonders durch die schon in anderen Programmen vertraute Oberfläche ist es hier ein leichtes entsprechende Texte zu bearbeiten.
Export von Wiki-Seiten als PDF Dokument
Neben der Onlineverfügbarkeit der Texte gab es aus einer Projektgruppe aber auch die Anforderung vorhandene Texte nicht nur auszudrucken sondern auch als PDF zur Verfügung zu stellen.Hierzu nutze ich das DW2PDF Plugin und bin damit von Anfang an sehr glücklich, auch da es mir zu einzelnen Überschriften ein Inhaltsverzeichnis anlegte um in entsprechend erzeugten PDF Dokumente zu navigieren.
Plugin DW2PDF und Dokuwiki Template Monobook
Besonders schick ist, dass im Template Monobook der Export über einen eigenen Reiter als PDF funktioniert. Die Vorgehensweise ist in der Doku zum Plugin beschrieben.Hierzu habe ich die Datei tabs.php im Dokuwiki Verzeichnis unter
- lib > tpl > monobook > user
erweitert. Ferner wurde in der Datei lang.php unter//PDF plugin: export tab
if (file_exists(DOKU_PLUGIN."dw2pdf/action.php") &&
!plugin_isdisabled("dw2pdf")){
$_monobook_tabs["tab-export-pdf"]["text"] = $lang["monobook_tab_exportpdf"];
$_monobook_tabs["tab-export-pdf"]["href"] = wl(getID(), array("do" => "export_pdf"), false, "&");
}
- lib > tpl > monobook > lang > de
ergänzt. Im Ergebnis ist nun ein weiterer Tab (Export:PDF) vorhanden.$lang["monobook_tab_exportpdf"] = "Export as PDF";
Durch einen Klick auf "Export: PDF" steht das aktuelle Dokument als PDF zur Verfügung.

Kritisiert wurde jedoch durch die Projektgruppe dass durch das verwendete Template innerhalb des Plugin weitere Zusatzinformationen, so zum Beispiel URL oder auch QR Code mit eingebunden worden sind.
Daher habe ich in den Einstellungen zum Plugin unter den Punkt
"Plugin»dw2pdf»template- Welches Template soll zur Formatierung der PDFs verwendet werden?" in der Admin Oberfläche unter den Punkt Konfiguarion und hier bei den Einstellungen des Plugin DW2PDF.

ein eigenes Template hinterlegt.
Da mir ja relativ klar war, dass ich keine weiteren Zusatzinfos zum vorhandenen Design der Seite haben wollte habe ich den Ordner default nach unkelbach kopiert.
Template für PDF Export von DW2PDF einstellen
Der Templateordner für PDF Exporte findet sich im Dokuwiki Verzeichnis unter- lib > plugins > dw2pdf > tpl
Nun müssen nur noch die einzelnen Dateien bearbeitet werden.
- footer_even.html
Hier wird die Fußzeile für alle Seiten festgelegt - footer_odd.html
Ebenfalls allerdings für ungerade Seiten - citation.html
Zitatbox (hier ist die URL zum Wiki-Artikel hinterlegt und ggf. ein QR Code - header_even.html
Kopfzeile - header_odd.html
Kopfzeile für ungerade Seiten
Grundsätzlich hätte hier aber neben HTML Code auch Platzhalter wie: @WIKIURL@ oder @DATE@ für das Erstellungsdatum des PDF hinterlegt werden. Besonders elegant für citation.html sind natürlich auch @QRCODE@ für einen QR Code zur Seite oder auch @PAGEURL@ für die direkte URL zum Artikel.
Innerhalb des Templatev Verzeichnis liegt auch die Datei readme.txt in der weitere Möglichkeiten zur Gestaltung hinterlegt sind.
So kann auch ein Cover verwirklicht werden ebenso wie eine letzte Seite. Gerade wenn Seiten eines Wiki auch als Vorlage zum Weitergeben gedacht sind, eignet sich dieses Plugin besonders gut um hier mittels PDF auch fertige Dokumente auszutauschen.
Technischer Hintergrund PDF mit PHP erstellen
Auch wenn PHP selbst schon PDF erstellen kann (siehe zum Beispiel das Anwendungsbeispiel auf php.net durch die PDFlib) verwendet dieses Plugin jedoch die Befehlsklasse / PHP Library mpdf (siehe Homepage oder Github).Hierdurch kann das Plugin auch Lesezeichen in PDF erstellen und auch erweiterte PDF Funktionen nutzen.
Thomas Weise hat auf drweb.de im Artikel "PDF-Dokumente mit PHP erzeugen" zu diesen Anwendungsfall ebenfalls eine umfangreiche Dokumentation erstellt. Allerdings wird hier die Klasse FPDF verwendet.
Anwendungsgebiete Dokuwiki
Durch die PDF Export Funktion eignet sich Dokuwiki noch mehr wie schon im Artikel "Erste Erfahrungen mit Dokuwiki Konzept + Herangehensweise (Grundlagen)" oder auch im Abschnitt "Grundsätzliche Ansätze zur Einführung eines Wissensmanagementsystems oder Austauschplattform" des Artikels "Social Media Systeme wie Wiki, Onlineforen oder Komptenzprofile mit PHP umsetzen" beschrieben sowohl zur gemeinsamen Arbeit an Dokumenten als auch für eine zentrale Anlaufstelle für umfangreiche Dokumentationen.ein Angebot von Espresso Tutorials

unkelbach.link/et.books/
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Diesen Artikel zitieren:
Unkelbach, Andreas: »Dokuwiki Seiten als PDF exportieren durch Plugin DW2PDF und technischer Hintergrund zum Erstellen von PDF mit PHP« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 4.10.2016, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=760 (Abgerufen am 13.2.2025)
Permalink - Internet
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Bluesky 🌎 LinkedIn