Provided by: cups_2.4.12-0ubuntu1_amd64 

NOME
filter - interface de filtros de conversão de ficheiros do cups
RESUMO
filter job user title num-copies options [ filename ]
#include <cups/cups.h>
ssize_t cupsBackChannelRead(char *buffer, size_t bytes,
double timeout);
cups_sc_status_t cupsSideChannelDoRequest(cups_sc_command_t command,
char *data, int *datalen,
double timeout);
#include <cups/ppd.h>
const char *cupsGetOption(const char *name, int num_options,
cups_option_t *options);
int cupsMarkOptions(ppd_file_t *ppd, int num_options,
cups_option_t *options);
int cupsParseOptions(const char *arg, int num_options,
cups_option_t **options);
ppd_choice_t *ppdFindMarkedChoice(ppd_file_t *ppd, const char *keyword);
void ppdMarkDefaults(ppd_file_t *ppd);
ppd_file_t *ppdOpenFile(const char *filename);
DESCRIÇÃO
A interface de filtros do CUPS fornece um método standard para adicionar suporte para novos tipos de
documentos ou impressoras ao CUPS. Cada filtro é capaz de converter de um ou mais formatos de entrada
para outro formato que pode ser ou imprimido diretamente ou canalizado para outro filtro para o tornar
num formato imprimível.
Filtros DEVEM ser capazes de ler a partir de um nome de ficheiro na linha de comandos ou a partir da
entrada standard, copiando a entrada standard para um ficheiro temporário como requerido pelo formato do
ficheiro. Todas as saídas DEVEM ser enviadas para a saída standard. Filters NÃO DEVEM tentar comunicar
diretamente com a impressora, outros processos, ou outros serviços.
O nome de comando (argv[0]) é definido para o nome da impressora de destino mas está também disponível na
variável de ambiente PRINTER.
OPÇÕES
As opções são passadas em argv[5] e são codificadas a partir dos atributos IPP correspondentes usados
quando o trabalho foi submetido. Use a função cupsParseOptions() para carregar as opções numa matriz
cups_option_t e a função cupsGetOption() para obter o valor de um atributo específico. Tenha atenção aos
nomes alternativos comuns de atributos IPP tais como "landscape" para o atributo IPP
"orientation-requested".
As opções passadas na linha de comandos tipicamente não incluem as escolhas predefinidas do ficheiro PPD
da impressora. Use as funções ppdMarkDefaults() e cupsMarkOptions() da biblioteca do CUPS para aplicar
as opções às predefinições do PPD e mapear quaisquer atributos IPP às opções PPD correspondentes. Use
ppdFindMarkedChoice() para obter a escolha de selecção-de-utilizador para uma opção PPD. Por exemplo, um
filtro pode usar o seguinte código para determinar o valor actual da opção PPD Duplex.
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");
Os filtros raster devem usar um conjunto de escolhas de opção através do cabeçalho de página raster, pois
esses refletem as opções em efeito para uma determinada página. As opções especificadas na linha de
comandos determinam os valores predefinidos para o trabalho inteiro, as quais podem ser sobrepostas numa
base de por-cada-página.
MENSAGENS DE RELATÓRIO
As mensagens enviadas para o erro standard são geralmente armazenadas no atributo "printer-state-message"
da impressora e no ficheiro ErrorLog actual. Cada linha começa com, um prefixo standard:
ALERT: message
Define o atributo "printer-state-message" e adiciona a mensagem especificada ao ErrorLog actual
usando o nível de log "alert".
ATTR: attribute=value [ ... attribute=value]
Define o atributo(s) de trabalho ou impressora nomeada. Os seguintes atributos de trabalho podem ser
definidos: "job-media-progress". Os seguintes atributos de impressora podem ser definidos:
"auth-info-required", "marker-colors", "marker-high-levels", "marker-levels", "marker-low-levels",
"marker-message", "marker-names", "marker-types", "printer-alert", e "printer-alert-description".
CRIT: message
Define o atributo "printer-state-message" e adiciona a mensagem especificada ao ErrorLog actual
usando o nível de log "critical".
DEBUG: message
Adiciona a mensagem especificada ao ErrorLog actual usando o nível de log "debug". As mensagens
DEBUG nunca são armazenadas no atributo "printer-state-message".
DEBUG2: message
Adiciona a mensagem especificada ao ErrorLog actual usando o nível de log "debug2". As mensagens
DEBUG2 nunca são armazenadas no atributo "printer-state-message".
EMERG: message
Define o atributo "printer-state-message" e adiciona a mensagem especificada ao ErrorLog actual
usando o nível de log "emergency".
ERROR: message
Define o atributo "printer-state-message" e adiciona a mensagem especificada ao ErrorLog actual
usando o nível de log "error".
INFO: message
Define o atributo "printer-state-message". Se o LogLevel actual estiver definido para "debug2",
também adiciona a mensagem especificada ao ErrorLog usando o nível de log "info".
NOTICE: message
Define o atributo "printer-state-message" e adiciona a mensagem especificada ao ErrorLog actual
usando o nível de log "notice".
PAGE: page-number #-copies
PAGE: total #-pages
Adiciona a entrada ao PageLog actual. A primeira forma adiciona #-copies ao atributo
"job-media-sheets-completed". A segunda forma define o atributo "job-media-sheets-completed" para
#-pages.
PPD: Keyword=Value [ ... KeywordN=Value ]
Define a palavra chave nomeada no ficheiro PPD da impressora. Isto é usado tipicamente pare
atualizar palavras chave de opção predefinida como a DefaultPageSize e as várias opções instaláveis
no ficheiro PPD.
STATE: printer-state-reason [ ... printer-state-reason ]
STATE: + printer-state-reason [ ... printer-state-reason ]
STATE: - printer-state-reason [ ... printer-state-reason ]
Define, adiciona, ou remove palavras chave "printer-state-reason" para a fila actual. Tipicamente
isto é usado para indicar condições de média, tinta e toner numa impressora.
WARNING: message
Define o atributo "printer-state-message" e adiciona a mensagem especificada ao ErrorLog actual
usando o nível de log "warning".
VARIÁVEIS DE AMBIENTE
As seguintes variáveis de ambiente são definidas pelo servidor CUPS quando se executa o filtro:
CHARSET
O conjunto de caracteres de texto predefinido, tipicamente "utf-8".
CLASS
Quando um trabalho é submetido para uma classe de impressora, contém o nome da classe de impressora
de destino. Caso contrário esta variável de ambiente não será definida.
CONTENT_TYPE
O tipo de média MIME associado com o ficheiro de trabalho submetido, por exemplo
"application/postscript".
CUPS_CACHEDIR
O directório onde ficheiros de cache semi-persistentes podem ser encontrados e armazenados.
CUPS_DATADIR
O directório onde podem ser encontrados ficheiros de dados.
CUPS_FILETYPE
O tipo de ficheiro a ser imprimido: "job-sheet" para uma página banner e "document" para um ficheiro
de impressão regular.
CUPS_MAX_MESSAGE
O tamanho máximo de uma mensagem enviada para stderr, incluindo qualquer prefixo inicial e o indício
de nova linha final.
CUPS_SERVERROOT
O directório raiz do servidor.
FINAL_CONTENT_TYPE
O tipo de média MIME associado com a saída destinada à impressora, por exemplo
"application/vnd.cups-postscript".
LANG O locale de idioma predefinido (tipicamente C ou en).
PATH O caminho de execução standard para programas externos que podem ser corridos pelo filtro.
PPD O nome de caminho completo do ficheiro PostScript Printer Description (PPD) para esta impressora.
PRINTER
O nome da impressora.
RIP_CACHE
A quantidade de memória recomendada a usar para Raster Image Processors (RIPs).
SOFTWARE
O nome e número de versão do servidor (tipicamente CUPS/maior.menor).
TZ A zona horária do servidor.
USER O utilizador que executa o filtro, tipicamente "lp" ou "root"; consulte o ficheiro cups-files.conf
para a definição actual.
DE ACORDO COM
Apesar da interface do filtro ser compatível com scripts de interface do System V, o CUPS não suporta
scripts de interface System V.
NOTAS
Drivers de impressoras e backends do CUPS estão descontinuados e não irão ser mais suportados num futuro
lançamento do CUPS. Impressoras que não suportem IPP podem ser suportadas usando aplicações como a
ippeveprinter(1).
Os filtros do CUPS não se destinam a ser corridos diretamente pelo utilizador. Além dos problemas com a
interface antiga do System V (argv[0] é o nome da impressora), os filtros do CUPS também esperam
variáveis de ambiente específicas e descritores de ficheiro, e tipicamente correm numa sessão de
utilizador que (no macOS) tem restrições adicionais que afectam como eles correm. A menos que você seja
um desenvolvedor e saiba o que está a fazer, por favor não corra os filtros diretamente. Em vez disso,
use o programa cupsfilter(8) para usar os filtros apropriados para as conversões que você precisa.
VEJA TAMBÉM
backend(7), cups(1), cups-files.conf(5), cupsd(8), cupsfilter(8),
Ajuda Online do CUPS (http://localhost:631/help)
COPYRIGHT
Copyright © 2020-2024 by OpenPrinting.
2021-02-28 CUPS filter(7)