Possível imprimir em PDF a partir do terminal Mac?

16

É possível pegar um arquivo e imprimi-lo em um PDF usando apenas comandos de terminal? Eu estou supondo que você iria de alguma forma fazer uso do comando lpr, mas eu ainda tenho que descobrir a sintaxe correta.

    
por tambler 05.01.2011 / 16:38

8 respostas

9

lpr é de fato o comando correto. Não há muito a fazer, apenas

lpr filename.pdf

deve simplesmente funcionar, presumindo que a impressora padrão esteja configurada corretamente. Se não, você pode ter que fazer

lpr -P printername filename.pdf

Note que há uma página man - "man lpr" se você precisar ver o conteúdo. Sim, o daemon de impressão do CUPS que o OS X usa já está ciente do PDF.

    
por 13.06.2013 / 23:10
4

Eu sei que vi algo em uma pasta de sistema oculta:

/Library/Scripts/Printing Scripts/Convert To PDF.scpt

Eu criei um novo aplicativo do AppleScript, mas chamar o script diretamente deve funcionar também.

EDITAR: na verdade você simplesmente pode ligar

/System/Library/Printers/Libraries/convert -f file.rtf -o file.pdf -j "application/pdf"
    
por 15.01.2012 / 14:53
3

1) O processador de texto Open Source, AbiWord , inclui uma opção de conversão entre qualquer formato que conheça na linha de comando, incluindo PDF, por exemplo,

abiword --to=pdf filename.html

(Ele também manipula, por exemplo, arquivos .doc do MS Word, .docx, .odt, .rtf etc., tanto de entrada quanto de saída.)

Eu sei que ele está disponível para Mac, embora eu nunca tenha usado em um mac.

2) O programa de linha de comando ebook-convert do calibre (no mac você precisa seguir as instruções aqui para obter as ferramentas de linha de comando) é útil para muitos formatos também.

ebook-convert filename.html filename.pdf

Ele pode manipular entrada de .rtf e .odt e muitos formatos de e-book, como .epub e .mobi.

3) O PrinceXML pode ser usado na linha de comando, e converterá HTML para PDF muito bem.

4) Há wkhtmltopdf , que usa o mecanismo de webkit para converter HTML em PDF a partir da linha de comando. Eu nunca tentei isso.

5) Posso pensar em outros métodos usando, por exemplo, o ConTeXt ou o pdflatex, mas eles se envolvem cada vez mais.

    
por 05.01.2011 / 21:25
1

Para arquivos de texto simples, você pode usar enscript (vem com o OS X) para gerar um arquivo de postscript.

$ enscript -p ~/Desktop/profile.ps /etc/profile
[ 1 pages * 1 copy ] left in /Users/dharris/Desktop/profile.ps

O aplicativo Preview do OS X pode abrir (e converter) para PDF, ou você pode instalar o ps2pdf (eu instalei via macports ) e converto na linha de comando.

$ ps2pdf ~/Desktop/profile.ps ~/Desktop/profile.pdf
    
por 05.01.2011 / 16:58
1

Você também pode usar o pandoc do link

Com este comando você converteria o arquivo html para pdf:

pandoc -o output.pdf input.html

Mas note que o pandoc usa o LaTeX para a conversão, então você precisa ter um sistema LaTeX instalado ( link ).

O Pandoc também pode converter para outros formatos como .odt, .docx e .epub

    
por 05.07.2013 / 18:06
0

Para arquivos de páginas da web locais, você pode tentar usar a ação do URL de download como PDF do Automator. Baixe e instale.

Eu tive que iniciar o Automator no modo de 32 bits:

CrieumAutomatorApplicationqueautomaticamenterecebaarquivosepastascomoentrada,comestaaçãocomoúnica.Salvar,porexemplocomoSaveasPDF.

AbraacaixadediálogoObterInformaçõesdoseuaplicativoemarqueAbrirnomodode32bitstambémaqui.CliqueduasvezesumavezparagarantirqueoLaunchServicesconheçaoaplicativo.

Vocêpodeusaresteaplicativonalinhadecomandodaseguinteforma:

osascript-e'tellapplication"Save as PDF" to open { POSIX file "/path/to/file.html" as alias }'

É claro que você pode incluir isso em uma boa função AppleScript .scpt , bash , script shell ou o que não.

Esta solução é realmente bastante flexível. Consegui converter arquivos de texto e arquivos HTML, e a ação do Automator também é um pouco configurável.

    
por 05.01.2011 / 19:35
0

Primeiro, obtenha o nome da impressora

lpstat -p

Em seguida, use o nome da impressora (Canon1234 - por exemplo)

lp -d Canon1234 PathToDocument.pdf
    
por 09.10.2015 / 10:11
0

Na verdade, é muito mais fácil do que isso. Você pode simplesmente digitar na linha de comando open *.pdf e Preview abrirá todos os arquivos lá. Estranhamente, se você digitar open *.pdf */*.pdf , terá duas janelas. Em cada um você tem que ir para a barra lateral, selecione um dos formatos boxy (se houver muitos arquivos que ele abre por padrão no formato de lista que não funcionam) digite CMD - < kbd> A para selecionar todos, depois use o comando print-selected-pages para obter todos eles.

    
por 05.05.2011 / 14:52