Inhalte aus einem MediaWiki als PDF exportieren mit der Collection Extension

image

Schon seit längerem beschäftigt mich die Frage, wie man den Inhalt eines Wikis mit vernünftigem Aufwand und in guter Qualität ausdrucken kann (vgl. Wie druckt man ein MediaWiki aus?). Inzwischen habe ich eine Lösung gefunden, die zumindest in meinem eigenen Setup sehr gut funktioniert.

Der Schlüssel zur Lösung ist die Extension Collection, welche von PediaPress entwickelt wird. Wie bei den meisten MediaWiki-Extensions ist zwar etwas Handarbeit erforderlich, im Prinzip ist die Installation aber nicht schwierig. Die Skripts der Extension kann man als Snapshot herunterladen (richtige MediaWiki-Version auswählen!), anschliessend sind noch einige Einträge in den LocalSettings.php sowie im Skin-File erforderlich. Wenn man das README.txt beachtet, kann eigentlich nichts schiefgehen.

Der Clou an der Sache ist, dass man die Phython-Libraries mwlib und mwlib.rl, welche für das Parsen der Wiki-Seiten und die Konvertierung in ein PDF zuständig sind, nicht unbedingt auf dem eigenen Server installieren muss, sondern dass man den Server von PediaPress benutzen kann. Für Wikis mit beschränktem Traffic reicht dies vollkommen aus.

image In der Anwendung ist Collection sehr elegant: In der Navigation erscheint ein neuer Befehl, mit dem man beliebige Seiten in eine Kollektion aufnehmen kann. Lässt man sich später die Kollektion anzeigen (vgl. obigen Screenshot), so kann man noch die Reihenfolge der Seiten anpassen und Kapitel einfügen. Anschliessend lässt sich aus der gesamten Kollektion ein einziges PDF generieren. Alternativ kann man auch ein Textdokument im OpenOffice.org-Format erzeugen, das man dann nicht nur drucken, sondern ggf. auch noch editieren kann.

9 Kommentare zu “Inhalte aus einem MediaWiki als PDF exportieren mit der Collection Extension

  1. Hi,

    „Wie bei den meisten MediaWiki-Extensions ist zwar etwas Handarbeit erforderlich“
    Was genau ist erforderlich? Ich bekomme es nicht hin. Die Renderung bricht mit einem Fehler ab!

  2. hallo,
    ich habe versucht collektion zu installieren aber irgendwie komme ich damit nicht ganz klar,
    in der toolbox erschein zwar der link zum pdf aber dann wird folgendes auf der seite angezeigt
    Fatal error: Call to undefined function curl_init() in /var/www/virtual/sifawiki.de/htdocs/extensions/Collection/Collection.body.php on line 1241

    brauche dochmal ein wenig hilfe da mein schul englisch doch arg eingerostet ist :)

    was hab ich bisher gemacht:
    require_once(„$IP/extensions/Collection/Collection.php“);
    $wgCollectionMWServeURL = „http://tools.pediapress.com/mw-serve/“;
    in localsettings.php eingefügt

    benutzen tu ich den standard skin monobook und weiss nicht was ich da ändern soll………..

  3. Hallo,

    die Extension scheint noch am brauchbarsten von allen PDF-Exportern zu sein, leider bekomme ich den Render-Server nicht gebacken. Gibt es irgendwo eine Anleitung, wie man die Extension mit eigenem Render-Server installieren kann?

    Und kann man die Option der Buchbestellung abschalten?

  4. Hallo,
    bei mir funktioniert die Erstellung eines PDFs von einer Collection(TESTSammlung) „nur“ über die Kommandozeile.

    mw-render –config http://meinwiki.local/ –username=’marvin‘ –password=’XXXX‘ –output TEST.pdf –writer rl –collectionpage=Benutzer:marvin/Sammlungen/TESTSammlung

    Nur über die GUI bzw. Skin bekomme ich einen HTTP 500 Fehler. Welche Änderungen im Skin File, wie im Artikel beschrieben muss man denn nun genau machen?

    Vielen Dank für ein kurzes Feedback.
    Grüße
    Marvin

  5. @Marvin: Das ist nun doch schon ziemlich lange her. Aber wie gesagt: Mit der Anleitung im README.txt habe ich den PDF-Export damals zum Laufen gebracht.

  6. Hallo Martin,
    danke für die Rückmeldung.
    ja ist wirklich schon etwas länger her.
    Wie gesagt, den Export bekomme ich über Kommandozeile zum Laufen. Nur nicht über die GUI vom WIKI. Und in der README.txt steht nix drin von einer Anpassung der Skin File.
    Danke + Grüße
    Marvin

  7. Hallo Marvin
    schalte mich hier mal hinzu, da ich gerade an demselben Punkt stehe.

    Habe mwlib/mwlib.rl und die Abhängigkeiten installiert und kann nun auch selbst pdf’s in der Konsole generieren. Jetzt möchte ich jedoch anstelle von pediapress meinen eigenen Render verwenden.
    Wie hast du den eigenen Render über HTTP zur Verfügung gestellt und mit $wgCollectionMWServeURL eingebunden?
    Danke + Gruss
    Fabian

Kommentar verfassen

− 2 = 6