Ich habe kürzlich das /System/Library/Printers/Libraries/convert
Tool entdeckt, das HTML, DOC, ... in PDF konvertieren kann.
Es funktioniert großartig, hat aber einige optionale Argumente, die nicht dokumentiert sind: -a 'name=value ...'
. Ich interessiere mich wirklich für sie, weil diese mehr vom "Druck"-Prozess steuern sollen.
/System/Library/Printers/Libraries/convert
Usage: convert [ options ]
Options:
-e Use every filter from the PPD file
-f filename Set file to be converted (otherwise stdin)
-o filename Set file to be generated (otherwise stdout)
-i mime/type Set input MIME type (otherwise auto-typed)
-j mime/type Set output MIME type (otherwise application/pdf)
-P filename.ppd Set PPD file
-a 'name=value ...' Set option(s)
-U username Set username for job
-J title Set title
-c copies Set number of copies
-u Remove the PPD file when finished
-D Remove the input file when finished
Die Optionen für das CUPS-System bestehen hauptsächlich darin, Ränder, Seitenränder, wie viele Seiten pro Blatt usw. festzulegen. Sie sind auf der CUPS-Website dokumentiert:
Was Sie sehen, ist ein symbolischer Link zu /usr/sbin/cupsfilter
.
cupsfilter
ist in der entsprechenden Manpage dokumentiert.
Sein Zweck besteht darin, es Ihnen zu ermöglichen, dieselbe Filterkette manuell auszuführen, die CUPS für eine bestimmte Druckwarteschlange ausführen würde, wenn ein bestimmtes Eingabedokument verarbeitet wird. Auf diese Weise können Sie die Ergebnisse überprüfen und debuggen, bevor/ohne den Auftrag an den eigentlichen Drucker zu senden.
Natürlich können Sie das Dienstprogramm auch "missbrauchen", um Dateien in ein beliebiges Ausgabeformat zu konvertieren (sofern von CUPS unterstützt).
In Bezug auf (das direkte -o name=value
Ausführen cupsfilter
verwendet diese Syntax): Grundsätzlich ist es jede Option, die Sie mit dem Druckbefehl angeben können, z. B. lp
oder lpr
wenn Sie von der Shell aus drucken.
Einige ausgewählte Beispiele:
-o media=A4 # define the media size
-o fit-to-page=true # request scaling of content to fit media
-o page-ranges=1-4,7,9-12 # select pages to be extracted
-o number-up=4 # request multiple logical pages on physical page
-o number-up-layout=tblr # set the sorting of logical pages
# (first top-to-bottom, then left-to-right)
-o page-border=single-thick # request page borders to be drawn
-o outputorder=reverse # request reverse output border
Weitere Informationen zu möglichen Optionen:
Alle von CUPS unterstützten allgemeinen Optionen sind hier dokumentiert:
http://www.cups.org/documentation.php/doc-2.1/options.html
Alle druckwarteschlangenspezifischen Optionen (wie sie in der zugehörigen PPD hinterlegt sind) können aus den Ausgaben dieses Befehls abgeleitet werden:
lpoptions -l -d <name-of-printqueue>
Die Namen aller IPP-definierten (Internet Printing Protocol) Auftragsoptionen sind hier aufgelistet: http://www.iana.org/assignments/ipp-registrations/ipp-registrations.xhtml
sorin
cupsfilter
. Die Frage bleibt, ich möchte sehen, welche Optionen ich hinzufügen kann, wenn ich HTML in PDF konvertiere.sorin
textutil
.ghr
cupsfilter: Unable to determine MIME type of "abc.docx"
ghr