minikurse:raspberry:pdf_automatisierung_mit_bash_und_cron_raspberry_pi_und_dokuwiki:start

Dies ist eine alte Version des Dokuments!


PDF-Automatisierung mit Bash & Cron – Raspberry Pi & DokuWiki

In diesem Mini-Kurs richtest du eine automatische PDF-Erzeugung für dein DokuWiki ein – ganz ohne manuelles Klicken. Das PDF wird täglich erstellt und auf deiner SD-Karte gespeichert. Perfekt für Anfänger ohne Spezialwissen!

sudo nano /home/pi/pdf_export.sh


Inhalt für den PDF-Export eines Namensraums + PDF-Link in Übersichtsseite:

#!/bin/bash
# PDF-Export eines Namensraums + PDF-Link in Übersichtsseite einfügen
 
# =============================================
# HINWEIS FÜR ANFÄNGER:
# Dieses Skript exportiert genau EINEN Namensraum als PDF.
# Wenn du weitere Namensräume exportieren willst,
# musst du den entsprechenden Abschnitt duplizieren und anpassen.
# Beispiel: 'kurs:raspberry' ersetzen durch 'kurs:wordpress'
# =============================================
 
DATUM=$(date +%F)
PDF_ZIEL="/home/pi/pdf_exports/kurs_raspberry_${DATUM}.pdf"
 
# URL zum direkten PDF-Export des kompletten Namensraums (ohne Book-Seite)
PDF_URL="http://localhost/lib/exe/fetch.php?media=dw2pdf&book_ns=kurs:raspberry" # <-- PDF-Export des Namensraums kurs:raspberry
 
ZIELDATEI="/var/www/html/data/pages/pdfs/start.txt"
 
# PDF erzeugen
wget -O "$PDF_ZIEL" "$PDF_URL"
 
# Übersichtsseite im Wiki aktualisieren
{
echo "====== PDF-Downloadübersicht ======"
echo ""
echo "Hier findest du automatisch erzeugte PDFs deines Raspberry-Kurs-Wikis:"
echo ""
echo "  * [[file:/home/pi/pdf_exports/kurs_raspberry_${DATUM}.pdf|📄 Kursmaterial vom ${DATUM}]]"
echo ""
echo "→ Diese Seite wird täglich automatisch aktualisiert."
} > "$ZIELDATEI"
 
# Rechte setzen
chown www-data:www-data "$ZIELDATEI"
chmod 664 "$ZIELDATEI"


Inhalt für den PDF-Export mehrerer Namensräume + automatische Wiki-Übersichtsseite

#!/bin/bash
# ==========================================================
# HINWEIS:
# In den folgenden Zeilen wird jeweils ein kompletter Namensraum
# deines Wikis in eine PDF-Datei exportiert.
# Du kannst weitere Namensräume ergänzen, indem du das Muster kopierst
# und 'kurs:raspberry' durch deinen gewünschten Namensraum ersetzt.
# ==========================================================
 
# 1. Export: kurs:raspberry
PDF1_ZIEL="/home/pi/pdf_exports/kurs_raspberry_${DATUM}.pdf"
PDF1_URL="http://localhost/lib/exe/fetch.php?media=dw2pdf&book_ns=kurs:raspberry"
wget -O "$PDF1_ZIEL" "$PDF1_URL"
 
# 2. Export: kurs:wordpress
PDF2_ZIEL="/home/pi/pdf_exports/kurs_wordpress_${DATUM}.pdf"
PDF2_URL="http://localhost/lib/exe/fetch.php?media=dw2pdf&book_ns=kurs:wordpress"
wget -O "$PDF2_ZIEL" "$PDF2_URL"
 
# 3. Wiki-Downloadseite automatisch aktualisieren
ZIELDATEI="/var/www/html/data/pages/pdfs/start.txt"
 
{
echo "====== PDF-Downloadübersicht ======"
echo ""
echo "Hier findest du automatisch erzeugte PDFs deiner Kurse:"
echo ""
echo "  * [[file:/home/pi/pdf_exports/kurs_raspberry_${DATUM}.pdf|📄 Raspberry-Kurs vom ${DATUM}]]"
echo "  * [[file:/home/pi/pdf_exports/kurs_wordpress_${DATUM}.pdf|📄 WordPress-Kurs vom ${DATUM}]]"
echo ""
echo "→ Diese Seite wird täglich automatisch aktualisiert."
} > "$ZIELDATEI"
 
# 4. Rechte korrekt setzen (für das Wiki lesbar)
chown www-data:www-data "$ZIELDATEI"
chmod 664 "$ZIELDATEI"

Ausführbar machen:

sudo chmod +x /home/pi/pdf_export.sh
mkdir -p /home/pi/pdf_exports
sudo chown -R pi:www-data /home/pi/pdf_exports
sudo chmod -R 775 /home/pi/pdf_exports
sudo mkdir -p /var/www/html/lib/plugins/dw2pdf/tpl/odp
<html>
  <head>
    <style>
      pre {
        font-family: monospace;
        white-space: pre-wrap;
        text-align: center;
        font-size: 14pt;
      }
    </style>
  </head>
  <body>
    <pre>
    ██████╗ ██████╗ ███████╗
    ██╔══██╗██╔══██╗██╔════╝
    ██████╔╝██████╔╝█████╗  
    ██╔═══╝ ██╔═══╝ ██╔══╝  
    ██║     ██║     ███████╗
    ╚═╝     ╚═╝     ╚══════╝
 
     PDF-Kursmaterial
    </pre>
  </body>
</html>

Kopfzeile (header_even.html & header_odd.html):

<div style="text-align:right; font-size:10pt;">
  Seite [[@PAGE@]]
</div>

Fußzeile (footer_even.html & footer_odd.html):

<div style="text-align:center; font-size:8pt; color:#999;">
  © Olaf Droste Products, Immermannstr. 31, 44147 Dortmund
</div>

Vorlage aktivieren:

→ Admin → PDF Export → Template: odp

crontab -e

Einfügen:

0 0 * * * /home/pi/pdf_export.sh
sudo apt install php-mbstring -y
sudo systemctl restart apache2
sudo /home/pi/pdf_export.sh

→ Prüfe:

  • Liegt eine neue PDF im Ordner
    /home/pi/pdf_exports/

    ?

  • Ist die Seite
    pdfs:start

    im Wiki automatisch aktualisiert?

Tipp: Diese Lösung funktioniert ohne Zusatzseiten, ohne Bücher und ist ideal für Einsteiger. Nur <code>dw2pdf</code> wird benötigt.

  • minikurse/raspberry/pdf_automatisierung_mit_bash_und_cron_raspberry_pi_und_dokuwiki/start.1751019760.txt.gz
  • Zuletzt geändert: 2025/06/27 12:22
  • von strangelove