CUPS-PDF
CUPS-PDF integriert einen PDF Drucker, über den aus jeder Linux Anwendung in eine PDF Datei gedruckt werden kann.
Bei der Installation wird automatisch ein Drucker "CUPS-PDF" eingerichtet. Die Dokumente landen im Verzeichnis "/var/spool/cups-pdf/username". Dieser Pfad kann in der Datei "/etc/cups/cups-pdf.conf" geändert werden, so dass sie z. B. unter "~/pdf" landen:
Siehe auch: http://www.linuxforen.de/forums/show...1&postcount=10
Homepage: http://www.cups-pdf.de/
Für Suse finden sich im Buildservice fertige Pakete (http://software.opensuse.org/search, Suche nach "cups-pdf").
KDE-Print
Mit dem KDE-Druckbefehl kprinter (bis KDE 3.x) lassen sich aus jeder KDE-Anwendung heraus problemlos PDF-Dokumente erstellen. KDE4 Anwendungen nutzen den QT-Druckdialog und haben damit ebenfalls einen PDF-Export.
PDF-Drucker in CUPS manuell einrichten
Mit Bordmitteln lässt sich kostenfrei ein PDF-Drucker einrichten, der von jedem Client aus im Netzwerk benutzt werden kann. Damit hat man den Acrobat Destiller sozusagen kostenfrei.
1) Script zum Konvertieren Postscript->PDF:
Code:
#!/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
Dieses Script als Datei "/usr/lib/cups/pdf/ps2pdf.cups" speichern (Verzeichnis vorher anlegen) und ausfühbar machen (chmod 755 /usr/lib/cups/pdf/ps2pdf.cups).
2) PDF-Backend
Code:
#!/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
Diese Datei als "/usr/lib/cups/backend/pdf" speichern und ausführbar machen.
3) Druckerdefinition "distiller.ppd" installieren
Die Datei "distiller.ppd" downloaden und nach "/usr/share/cups/model" kopieren.
http://www.prepress.ch/d/pdf/web/ppd.html
Alternativ in Google nach "distiller.ppd" suchen.
4) PDF Drucker anlegen
Code:
lpadmin -p PDF -v pdf:/tmp -E -P /usr/share/cups/model/distiller.ppd
Dieser Befehl legt einen Drucker mit dem Namen "PDF" an. Die erzeugten PDF-Dateien werden dann im Verzeichnis "/tmp" angelegt.
Der Drucker kann natürlich auch mit dem CUPS-Webfrontend (siehe oben) angelegt werden.
5) CUPS neu starten
Erst nach dem Neustart steht der PDF Drucker zur Verfügung:
Code:
/etc/rc.d/init.d/cups restart
Quelle: http://www.linuxquestions.org/linux/...e_in_Slackware
Lesezeichen