Wie man einen PDF Drucker unter Linux installieren kann.

Linux

Da ich derzeit viele Bücher digitalisiere, stand ich selbst kürzlich vor dem Problem. Wie installiere ich einen PDF Drucker unter Linux? Nach einiger Zeit bin ich dann auf einen Beitrag der Seite www.linuxforen.de gestoßen, der mit die Lösung brachte. Dabei geht es um die Installation von CUPS-PDF als Drucker unter Common Unix Printing System (CUPS). Wie ich dabei vorgegangen bin, zeige ich euch in diesem Artikel.

Ich habe vor kurzem OpenSuse 12.2 auf meinem Rechner als zweites Betriebssystem, neben Windows 7 installiert, da ich ein Linuxfan bin und meine Ausbildung auf einem Linuxsystem hatte. Leider ist es manchmal unter Debian, was mein Ausbildungssystem war, etwas kompliziert WLAN zu installieren. Daher habe ich mich für SuSE 12.2 entschieden, weil es dort ein Kinderspiel war.

Da ich wie gesagt derzeit relativ viele Bücher einscanne, wegen Auswanderungsvorbereitungen, habe ich mal testhalber unter Linux Scanvorgänge durchgeführt und festgestellt, dass man bei dem HP Photosmart C5380 am schnellsten mit Xsane und dem dazugehörigen Simple Scan Dokumente einscannen kann. Da ich bereits einige Bücher als tif Datei eingescannt hatte, unter Windows. Wollte ich diese in PDF Dateien wandeln, leider war kein PDF Drucker installiert.

Nach einiger Suche im Netz bin ich dann auf den Artikel CUPS-PDF gestoßen, hier wird wunderbar erklärt, wie man einen PDF Drucker mit wenigen Handgriffen selbst installieren kann.

Weiterhin habe ich auch Druckerzubehör gefunden, die bieten günstiges Druckerzubehör und auch Toner. Interessant für alle die ihre gescannten PDF’s ausdrucken wollen und müssen.

Nach der Suche habe ich alles durchgelesen und bin dann den Anweisungen gefolgt.

PDF Drucker unter Linux installieren manuell Konsole
PDF Drucker unter Linux installieren manuell Konsole
PDF Drucker unter Linux installieren manuell Konsole CUPS PDF Verzeichnis
PDF Drucker unter Linux installieren manuell Konsole CUPS PDF Verzeichnis

Als ersten müsst ihr eine Konsole öffnen und euch als root anmelden, mit dem Befehl su und der dann folgenden Passworteingabe für den root-Zugang.

In der Konsole geht ihr erst einmal in das Verzeichnis von cups mit folgenden Befehl:

linux-x5hs:/home/michael/Dokumente # cd /usr/lib/cups/

Danach erstellt ihr über den Befehl mkdir pdf das Verzeichnis pdf und wechselt mit dem Befehl cd pdf in dieses Verzeichnis.

Mit der Anweisung linux-x5hs:/linux-x5hs:/usr/lib/cups/pdf # vim ps2pdf.cups erstellt ihr die Datei ps2pdf.cups, diese wird natürlich sogleich mit dem VI Editor vim geöffnet. In diese Datei müsst ihr nun den folgenden Code eingeben:

#!/bin/sh
# Convert PostScript to PDF.
umask 002
OPTIONS=""
while true
do
case "$1" in
-*) OPTIONS="$OPTIONS $1" ;;
*) break ;;
esac
shift
done

if [ $# -lt 1 -o $# -gt 2 ]; then
echo "Usage: `basename $0` [options...] input.ps [output.pdf]" 1>&2
exit 1
fi

infile=$1;

if [ $# -eq 1 ]
then
outfile=$1
else
outfile=$2
fi

# Doing an initial 'save' helps keep fonts from being flushed between pages.
exec gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
-sOutputFile=$outfile $OPTIONS -c save pop -f $infile
exec chmod a+r $outfile

 

Mit :wq den VI Editor wieder schließen. Danach das angelegte Script mit dem Befehl chmod 755 noch ausführbar machen.

Das war das Script zum Konvertieren Postscript->PDF.

Als nächstes müsst ihr das PDF-Backend Script erstellen, dazu geht ihr in das Verzeichnis /usr/lib/cups/backend/.

Jetzt die Anweisung vim pdf eingeben und den folgenden Code hinein kopieren.

#!/bin/sh
#
umask 002
PDFBIN=/usr/lib/cups/pdf/ps2pdf.cups
FILENAME=
# filename of the PDF File
PRINTTIME=`date +%Y-%m-%d_%H.%M.%S`
# no argument, prints available URIs
if [ $# -eq 0 ]; then
if [ ! -x "$PDFBIN" ]; then
exit 0
fi
echo "direct pdf \"Unknown\" \"PDF Creator\""
exit 0
fi
# case of wrong number of arguments
if [ $# -ne 5 -a $# -ne 6 ]; then
echo "Usage: pdf job-id user title copies options [file]"
exit 1
fi
# get PDF directory from device URI, and check write status
PDFDIR=${DEVICE_URI#pdf:}
if [ ! -d "$PDFDIR" -o ! -w "$PDFDIR" ]; then
echo "ERROR: directory $PDFDIR not writable"
exit 1
fi
# generate output filename
OUTPUTFILENAME=
if [ "$3" = "" ]; then
OUTPUTFILENAME="$PDFDIR/unknown.pdf"
else
if [ "$2" != "" ]; then
OUTPUTFILENAME="$PDFDIR/$2-$PRINTTIME.pdf"
else
OUTPUTFILENAME="$PDFDIR/$PRINTTIME.pdf"
fi
echo "PDF file: $OUTPUTFILENAME placed in: $PDFDIR" >> $LOGFILE
fi
# run ghostscript
if [ $# -eq 6 ]; then
$PDFBIN $6 $OUTPUTFILENAME >& /dev/null
else
$PDFBIN - $OUTPUTFILENAME >& /dev/null
fi

exit 0

 

Jetzt wieder mit :wq speichern und schließen und dann noch über chmod 755 ausführbar machen.

Der dritte Schritt ist die Datei distiller.ppd herunterladen. Diese bekommt ihr über http://www.thoens-online.de/uploads/media/distiller.ppd, allerdings auf den Link mit der rechten Maustaste klicken und danach Ziel speichern unter auswählen. Als root verschiebt ihr diese dann in /usr/share/cups/model über die move-Anweisung mv.

Jetzt müsst ihr noch den Drucker anlegen, das funktioniert über den folgenden Befehl.

lpadmin -p PDF -v pdf:/tmp -E -P /usr/share/cups/model/distiller.ppd

Durch diese Anweisung wird ein Drucker mit dem Namen PDF angelegt und die gedruckten PDF Dateien werden automatisch in das Verzeichnis /tmp abgelegt. Wer dem Drucker einen anderen Namen geben möchte oder das Speicherverzeichnis für PDF Dateien wo anders haben will der ändert einfach nur, in der vorangegangenen Anweisung PDF in den Druckernamen den ihr wollt und /tmp in das verzeichnis, wo eure PDF Dateien gedruckt werden sollen.

Jetzt noch CUPS neu starten über den Befehl:

/etc/rc.d/init.d/cups restart

Der Befehlt hängt natürlich von eurer Starteinstellung ab, bei mir habe ich bei dieser Eingabe eine Fehlermeldung erhalten. Allerdings war bei dem Aufruf http://localhost:631/printers/ der Drucker bereits vorhanden und ich konnte mit dem Druck von PDF Dateien losgehen.

Ich hoffe, diese kleine Anleitung hat euch geholfen, ich selbst habe sie in wenigen Minuten durchgearbeitet und es alles tadellos funktioniert.

Über Michael Bergler 683 Artikel
Mein Name ist Michael Bergler ich stamme aus Sachsen und habe seit 10 Jahren die Leidenschaft mich mit HTML, PHP, Bildbearbeitung und Perl zu beschäftigen. Seit 2011 lebe ich in Chemnitz und arbeite als Selbständiger in dem Bereich Informationstechnologie (IT), Büroservice und Telefonmarketing. In meinem Blog, online seit Dezember 2010, geht es um die Ausbildung zum IT-Systemkaufmann, Games und alles rund um den PC. Von daher lag es nah eine Umschulung 2006 – 2009 in dem Beruf IT-Systemkaufmann zu absolvieren, welche ich dann auch im Januar 2009 erfolgreich abgeschlossen habe. Ich bin in Leipzig geboren und in der Umgebung von Dresden aufgewachsen.

Ersten Kommentar schreiben

Kommentar verfassen