Das mit CUPS-PDF ist eine gute Idee, habe ich auch gerade ausprobiert!
Früher schon hatte ich – allerdings nur für Firefox! – mit anderen Ansätzen experimentiert:
Zum einen gibt es diverse Firefox-Add-ons, die ein Speichern von Webseiten als PDF versprechen – aber leider fast durch die Bank nur enttäuschen: Einige funktionieren gar nicht, andere speichern die Seiten bloß als nicht durchsuchbares Bild-PDF ab ... Das einzige eingermaßen zufriedenstellende Add-on ist m.E. PDF Mage. Allerdings werden die damit erzeugten Dateien gemäß der in den Firefox-Einstellungen vorgegeben Option für PDFs behandelt; so muss ich jedesmal auswählen, ob ich das PDF herunterladen oder mit Evince öffnen will.
Mir gefiel seit jeher das Kommandozeilenprogramm wkhtmltopdf gut, das Webseiten in PDFs konvertieren kann und in den offiziellen Paketquellen verfügbar ist. Die resultierenden Dateien sind bei guter Qualität erstaunlich klein. Bilder werden als JPEG eingebettet.
Damit habe ich mir ein Shell-Skript gebastelt, das ich in Firefox in Verbindung mit dem Add-on Open With einsetze, um Webseiten als PDFs zu speichern. Das geht dann bequem per Klick auf ein Symbol in der Firefoxleiste oder per Kontextmenü oder per Tastaturkürzel:
| #!/bin/bash
name=$(echo "$1" | rev | cut -d"/" -f1 | rev)
if [[ $name == "" ]]
then
name=$(echo "$1" | rev | cut -d"/" -f2 | rev)
fi
wkhtmltopdf $1 ~/Downloads/$name".pdf" | zenity --progress --title="Bitte warten!" --text="Die Seite wird heruntergeladen \nund als PDF gespeichert." --pulsate --auto-close
|
Für die eingebaute Fortschrittsanzeige muss Zenity installiert sein; wer das nicht wünscht, kann in der letzten Zeile alles ab dem |-Zeichen weglassen. Der Name der PDF-Datei wird vom Skript automatisch vergeben (in einer erweiterten Fassung habe ich auch einen graphischen Dialog zur Auswahl von Speicherort und Dateinamen integriert, kann ich auf Wunsch gerne posten).
Die Nachteile dieses Verfahrens will ich nicht verschweigen:
Kopf- und Fusszeilen, sowie Seitenpaginierung fehlen.
Da die Website mit wkhtmltopdf heruntergeladen und nicht die Browserdarstellung verwendet wird, ist das Ergebnis in Einzelfällen unbrauchbar – so etwa bei Seiten, die nur nach User-Login angezeigt werden, oder bei den Ergebnisseiten von Suchmaschinen, die POST verwenden.