.\" .\" filter man page for CUPS. .\" .\" Copyright © 2021-2023 by OpenPrinting. .\" Copyright © 2007-2019 by Apple Inc. .\" Copyright © 1997-2007 by Easy Software Products. .\" .\" Licensed under Apache License v2.0. See the file "LICENSE" for more .\" information. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH filter 7 CUPS 2021\-02\-28 OpenPrinting .SH NAME filter \- CUPS\-Datei\-Umwandlungsfilter\-Schnittstelle .SH SYNOPSIS \fBfilter\fP \fIAuftrag\fP \fIBenutzer\fP \fITitel\fP \fIAnz\-Kopien\fP \fIOptionen\fP [ \fIDateiname\fP ] .nf \fB#include \fP \fBssize_t cupsBackChannelRead\fP(\fBchar *\fP\fIbuffer\fP, \fBsize_t \fP\fIbytes\fP, \fBdouble \fP\fItimeout\fP); \fBcups_sc_status_t cupsSideChannelDoRequest\fP(\fBcups_sc_command_t \fP\fIcommand\fP, \fBchar *\fP\fIdata\fP, \fBint *\fP\fIdatalen\fP, \fBdouble \fP\fItimeout\fP); \fB#include \fP \fBconst char *cupsGetOption\fP(\fBconst char *\fP\fIname\fP, \fBint \fP\fInum_options\fP, \fBcups_option_t *\fP\fIoptions\fP); \fBint cupsMarkOptions\fP(\fBppd_file_t *\fP\fIppd\fP, \fBint \fP\fInum_options\fP, \fBcups_option_t *\fP\fIoptions\fP); \fBint cupsParseOptions\fP(\fBconst char *\fP\fIarg\fP, \fBint \fP\fInum_options\fP, \fBcups_option_t **\fP\fIoptions\fP); \fBppd_choice_t *ppdFindMarkedChoice\fP(\fBppd_file_t *\fP\fIppd\fP, \fBconst char *\fP\fIkeyword\fP); \fBvoid ppdMarkDefaults\fP(\fBppd_file_t *\fP\fIppd\fP); \fBppd_file_t *ppdOpenFile\fP(\fBconst char *\fP\fIfilename\fP); .fi .SH BESCHREIBUNG Die CUPS\-Filterschnittstelle stellt eine Standardmethode zum Hinzufügen von Unterstützungen für neue Dokumententypen oder Drucker zu CUPS bereit. Jeder Filter ist in der Lage, von einem oder mehreren Eingabeformaten in andere Ausgabeformate zu konvertieren, die entweder direkt gedruckt oder an einen weiteren Filter weitergeleitet werden können, der es dann in ein druckbares Format wandelt. .LP Filter \fBMÜSSEN\fP in der Lage sein, aus einem Dateinamen auf der Befehlszeile oder der Standardeingabe zu lesen und in letzterem Fall die Standardeingabe in eine temporäre Datei zu kopieren, wie dies vom Dateiformat benötigt wird. Die gesamte Ausgabe \fBMUSS\fP an die Standardausgabe gesandt werden. Filter \fBDÜRFEN NICHT\fP versuchen, direkt mit dem Drucker, anderen Prozessen oder Diensten zu kommunizieren. .LP Der Befehlsname (\fIargv[0]\fP) wird auf den Namen des Zieldruckers gesetzt. Er ist aber auch über die \fIUmgebungsvariable\fP \fBPRINTER\fP verfügbar. .SH OPTIONEN Optionen werden in \fIargv[5]\fP übergeben und aus den bei der Einreichung des Auftrags entsprechenden IPP\-Attributen kodiert. Verwenden Sie die Funktion \fBcupsParseOptions\fP(), um die Optionen in ein Feld \fBcups_option_t\fP zu laden und die Funktion \fBcupsGetOption\fP(), um den Wert eines bestimmten Attributes zu ermitteln. Seien Sie vorsichtig, nach häufigen Alias von IPP\-Attributen, wie »landscape« für das IPP\-Attribut »orientation\-requested«, Ausblick zu halten. .LP Auf der Befehlszeile übergebene Optionen enthalten typischerweise nicht die Standardauswahl aus der PPD\-Datei des Druckers. Verwenden Sie die Funktionen \fBppdMarkDefaults\fP() und \fBcupsMarkOptions\fP() in der CUPS\-Bibliothek, um die Optionen auf die PPD\-Vorgaben anzuwenden und alle IPP\-Attribute auf die entsprechenden Optionen abzubilden. Verwenden Sie \fBppdFindMarkedChoice\fP(), um die vom Benutzer getroffene Auswahl für eine PPD\-Option zu ermitteln. Ein Filter kann beispielsweise den folgenden Code verwenden, um den aktuellen Wert der PPD\-Option \fBDuplex\fP zu ermitteln: .nf ppd_file_t *ppd = ppdOpenFile(getenv("PPD")); cups_option_t *options = NULL; int num_options = cupsParseOptions(argv[5], 0, &options); ppdMarkDefaults(ppd); cupsMarkOptions(ppd, num_options, options); ppd_choice_t *choice = ppdFindMarkedChoice(ppd, "Duplex"); .fi .LP Rasterfilter sollten ausgewählte Optionen benutzen, die durch die Rasterseitenkopfzeilen gesetzt wurden, da jene die tatsächlichen Optionen für eine angegebene Seite wiedergeben. Auf der Befehlszeile angegebene Optionen legen die Vorgabewerte für den ganzen Druckauftrag, die auf seitenweiser Basis überschrieben werden können, fest. .SH PROTOKOLLNACHRICHTEN Nachrichten, die an die Standard\-Fehlerausgabe gesandt werden, werden im Allgemeinen im Attribut »printer\-state\-message« des Druckers und der aktuellen \fBErrorLog\fP\-Datei gespeichert. Jede Zeile beginnt mit einem Standard\-Präfix: .TP 5 \fBALERT: \fP\fINachricht\fP Setzt das Attribut »printer\-state\-message« und fügt die angegebene Nachricht zum aktuellen \fBErrorLog\fP unter Verwendung der Protokollstufe »alert« hinzu. .TP 5 \fBATTR: \fP\fIAttribut=Wert \fP[ \fI… Attribut=Wert\fP] Setzt das/die benannte(n) Auftrags\- oder Drucker\-Attribut(e). Die folgenden Auftragsattribute können gesetzt werden: »job\-media\-progress«. Die folgenden Druckerattribute können gesetzt werden: »auth\-info\-required«, »marker\-colors«, »marker\-high\-levels«, »marker\-levels«, »marker\-low\-levels«, »marker\-message«, »marker\-names«, »marker\-types«, »printer\-alert« und »printer\-alert\-description«. .TP 5 \fBCRIT: \fP\fINachricht\fP Setzt das Attribut »printer\-state\-message« und fügt die angegebene Nachricht zum aktuellen \fBErrorLog\fP unter Verwendung der Protokollstufe »critical« hinzu. .TP 5 \fBDEBUG: \fP\fINachricht\fP Fügt die angegebene Nachricht zu dem aktuellen \fBErrorLog\fP mit der Protokollstufe »debug« hinzu. \fBDEBUG\fP\-Nachrichten werden nie im Attribut »printer\-state\-message« gespeichert. .TP 5 \fBDEBUG2: \fP\fINachricht\fP .br Fügt die angegebene Nachricht zu dem aktuellen \fBErrorLog\fP mit der Protokollstufe »debug2« hinzu. \fBDEBUG2\fP\-Nachrichten werden nie im Attribut »printer\-state\-message« gespeichert. .TP 5 \fBEMERG: \fP\fINachricht\fP Setzt das Attribut »printer\-state\-message« und fügt die angegebene Nachricht zum aktuellen \fBErrorLog\fP unter Verwendung der Protokollstufe »emergency« hinzu. .TP 5 \fBERROR:\fP\fI Nachricht\fP Setzt das Attribut »printer\-state\-message« und fügt die angegebene Nachricht zum aktuellen \fBErrorLog\fP unter Verwendung der Protokollstufe »error« hinzu. .TP 5 \fBINFO:\fP\fI Nachricht\fP Setzt das Attribut »printer\-state\-message«. Wenn der aktuelle \fBLogLevel\fP auf »debug2« gesetzt ist, wird die angegebene Nachricht außerdem dem aktuellen \fBErrorLog\fP unter Benutzung der »info«\-Protokollstufe hinzugefügt. .TP 5 \fBNOTICE:\fP\fI Nachricht\fP Setzt das Attribut »printer\-state\-message« und fügt die angegebene Nachricht zum aktuellen \fBErrorLog\fP unter Verwendung der Protokollstufe »notice« hinzu. .TP 5 \fBPAGE:\fP\fI Seitenzahl #\-Kopien\fP .TP 5 \fBPAGE:\fP\fI Gesamt #\-Seiten\fP Fügt einen Eintrag zum aktuellen \fBPageLog\fP hinzu. Die erste Form fügt \fI#\-Kopien\fP zum Attribut »job\-media\-sheets\-completed« hinzu. Die zweite Form setzt das Attribut »job\-media\-sheets\-completed« auf \fI#\-Seiten\fP. .TP 5 \fBPPD:\fP\fI Schlüsselwort=Wert\fP [ \fI… SchlüsselwortN=Wert\fP ] Setzt die genannten Schlüsselworte in die PPD\-Datei des Druckers. Dies wird normalerweise benutzt, um Standardschlüsselwortoptionen, wie \fBDefaultPageSize\fP und verschiedene installierbare Optionen in der PPD\-Datei, zu aktualisieren. .TP 5 \fBSTATE:\fP\fI Drucker\-Zustand\-Grund \fP[ \fI… Drucker\-Zustand\-Grund\fP ] .TP 5 \fBSTATE: +\fP\fI Drucker\-Zustand\-Grund \fP[ \fI… Drucker\-Zustand\-Grund\fP ] .TP 5 \fBSTATE: \-\fP\fI Drucker\-Zustand\-Grund \fP[ \fI… Drucker\-Zustand\-Grund\fP ] Setzt, entfernt oder fügt »printer\-state\-reason«\-Schlüsselwörter für die aktuelle Druckwarteschlange hinzu. Typischerweise wird dies benutzt, um Medien\-, Tinten\- und Toner\-Bedingungen auf einem Drucker anzuzeigen. .TP 5 \fBWARNING:\fP\fI Nachricht\fP Setzt das Attribut »printer\-state\-message« und fügt die angegebene Nachricht zum aktuellen \fBErrorLog\fP unter Verwendung der Protokollstufe »warning« hinzu. .SH UMGEBUNGSVARIABLEN Die folgenden Umgebungsvariablen sind vom CUPS\-Server beim Ausführen von Filtern gesetzt: .TP 5 \fBCHARSET\fP Der Standard\-Textzeichensatz, typischerweise »utf\-8«. .TP 5 \fBCLASS\fP Wenn ein Druckauftrag an eine Druckerklasse gesandt wird, enthält er den Namen der Bestimmungsdruckerklasse. Ansonsten wird diese Umgebungsvariable nicht gesetzt. .TP 5 \fBCONTENT_TYPE\fP Der MIME\-Typ, der der eingereichten Druckdatei zugeordnet ist (z.B. »application/postscript«). .TP 5 \fBCUPS_CACHEDIR\fP Das Verzeichnis, in dem halb\-beständige Zwischenspeicherdateien gefunden und gespeichert werden. .TP 5 \fBCUPS_DATADIR\fP Das Verzeichnis, in dem Datendateien gefunden werden können. .TP 5 \fBCUPS_FILETYPE\fP Der Typ der Datei, die gedruckt wird: »job\-sheet« für ein Deckblatt und »document« für eine reguläre Druckdatei. .TP 5 \fBCUPS_MAX_MESSAGE\fP Die maximale Größe einer nach \fIstderr\fP gesandten Nachricht. Enthält alle Präfixe und den abschließenden Zeilenumbruch. .TP 5 \fBCUPS_SERVERROOT\fP Das Wurzelverzeichnis des Servers. .TP 5 \fBFINAL_CONTENT_TYPE\fP Der MIME\-Medientyp, der der dem Drucker bestimmten Ausgabe zugeordnet ist (z.B. application/vnd.cups\-postscript). .TP 5 \fBLANG\fP Die Standardsprach\-Standorteinstellung (normalerweise C oder en). .TP 5 \fBPATH\fP Der Standard\-Ausführungspfad für externe Programme, die vom Filter ausgeführt werden dürfen. .TP 5 \fBPPD\fP Der komplette Pfadname zu der PostScript\-Printer\-Description\-(PPD)\-Datei für diesen Drucker. .TP 5 \fBPRINTER\fP Der Name des Druckers. .TP 5 \fBRIP_CACHE\fP Die empfohlene Speichermenge zum Einsatz für Raster Image Processors (RIPs). .TP 5 \fBSOFTWARE\fP Der Name und die Versionsnummer des Servers (typischerweise CUPS/\fIHaupt.Neben\fP). .TP 5 \fBTZ\fP Die Zeitzone des Servers. .TP 5 \fBUSER\fP Der Benutzer, der den Filter ausführt, typischerweise »lp« oder »root«; schauen Sie in die Datei \fIcups\-files.conf\fP für die aktuellen Einstellungen. .SH KONFORMITÄT Während die Filterschnittstelle mit den Schnittstellenskripten von System V kompatibel ist, unterstützt CUPS nicht die System\-V\-Schnittstellenskripte. .SH HINWEISE CUPS\-Druckertreiber und \-Backends sind veraltet und werden in einer zukünftigen Funktionsveröffentlichung von CUPS nicht mehr unterstützt. Drucker, die IPP nicht unterstützen, können mittels Anwendungen wie \fBippeveprinter\fP(1) unterstützt werden. .LP CUPS\-Filter sind nicht für die direkte Ausführung durch Benutzer gedacht. Abgesehen von Problemen der veralteten System\-V\-Schnittstelle (\fIargv[0\fP] ist der Druckername) erwarten CUPS\-Filter auch bestimmte Umgebungsvariablen und Dateideskriptoren und laufen typischerweise auch in einer Benutzersitzung, die (unter macOS) zusätzlichen Beschränkungen unterliegt, die die Ausführung betreffen. Sofern Sie kein Entwickler sind und nicht wissen, was Sie tun, führen Sie keine Filter direkt aus. Verwenden Sie stattdessen das Programm \fBcupsfilter\fP(8), um die angemessenen Filter für die von Ihnen benötigten Umwandlungen auszuführen. .SH "SIEHE AUCH" \fBbackend\fP(7), \fBcups\fP(1), \fBcups\-files.conf\fP(5), \fBcupsd\fP(8), \fBcupsfilter\fP(8), .br CUPS\-Online\-Hilfe (http://localhost:631/help) .SH COPYRIGHT Copyright \[co] 2021\-2023 by OpenPrinting.