O que é "Imprimir em arquivo" e pode ser usado na linha de comando?

12

Quando você seleciona "Imprimir em arquivo" em uma caixa de diálogo de impressão do Gnome (não cups-pdf):

imprimir em arquivo

... qual é o comando real que é executado? (Estou interessado na variante postscript, como na imagem)

Por outro lado - talvez não haja uma chamada de comando; talvez seja gtk_print_operation_set_export_filenameda nova API de impressão Gtk + ?

De qualquer forma - existe uma maneira de utilizar esse código específico na linha de comando (não pdf2pse similares)? Digamos, usando lprpara "imprimir em arquivo" em um arquivo postscript - como se eu estivesse usando a caixa de diálogo acima?

sdaau
fonte
3
AFAIK, esse é um recurso do subsistema usado por alguns aplicativos GNOME e GTK + para imprimir itens (alguns deles usam o Cairo). lprinterage cupsdiretamente, a opção imprimir em arquivo ignora completamente o servidor de impressão. provavelmente não chama um comando, apenas invoca a função de renderização cairo de uma maneira diferente para gerar saída de pdf, postscript ou svg para um arquivo.
njsg
Ah, então é o back-end do cairo lá! Alguma idéia, se uma linha de comando comparável estiver disponível, que possa invocar essa função de renderização da mesma maneira que a caixa de diálogo de impressão? Muito obrigado pelo comentário, @njsg - felicidades!
Sdaau #
3
Pode haver alguma ferramenta de linha de comando do cairo (eu realmente não sei), mas acho que é um pouco complicado, pois muitos aplicativos usam o cairo para imprimir seus próprios documentos, e esse é o aplicativo que é capaz de entender o formato do arquivo . O Cairo não poderá ler formatos de arquivo aleatórios. O mais próximo que você pode chegar é verificar se o programa com a caixa de diálogo possui alguma opção de linha de comando para imprimir um arquivo sem abrir a GUI.
njsg
Obrigado por explicar que @njsg - a captura de tela acima foi tirada da evincecaixa de diálogo de impressão; infelizmente, não consigo ver nenhuma opção de linha de comando evinceque faria algo assim .. Saúde!
Sdaau #
Esta é apenas uma convenção da interface do usuário; cada programa pode, em princípio, fazer o que quiser quando "Imprimir em arquivo" for selecionado.
vonbrand

Respostas:

4

Você pode usar o cups-pdfpacote como uma solução independente do gnome. Depois de instalar o pacote, adicione a impressora PDF usando a interface da Web cups http://localhost:631como descrito aqui (' Geral' como fabricante da impressora, CUPS-PDF como driver ).

Para sua conveniência, alterar o diretório de saída com a opção Outem /etc/cups/cups-pdf.confque, como, ${HOME}ou o que quiser. Em seguida, faça o que é sugerido por @ Noam para imprimir em arquivo.

J. Katzwinkel
fonte
2
lpr -P "Print_to_PDF" file_to_print

Para obter a lista de impressoras atualmente configuradas, execute lpstat -p -d.

Noam Kremen
fonte
mmm, -P "Print_to_PDF" me fornece este erro "lpr: a impressora ou a classe não existe."
Aubrey
0

Você também pode usar o comando lp printing para imprimir um arquivo na impressora padrão (ou apenas) no sistema:

lp filename

ou para uma impressora específica

lp -d printer filename
Andriy Simonov
fonte
0

Imprimir em arquivo envia o documento não para a impressora, mas para um documento PDF.

O mesmo pode ser feito com o sistema de impressão de xícaras, que seus aplicativos usam quando enviam comandos de impressão.

Use a ferramenta cupsfilter. Ele efetivamente converte um documento. Ele converte em pdf por padrão.

$ cupsfilter inputfilename > outputfilename.pdf

Como descrito aqui .

marcação
fonte