É possível imprimir em PDF a partir do terminal Mac?
19
É possível pegar um arquivo e imprimi-lo em PDF usando apenas comandos do terminal? Eu estou supondo que você usaria de alguma forma o comando lpr, mas ainda tenho que descobrir a sintaxe correta.
@ Daniel, eu deveria ter sido mais claro na minha pergunta: que tipo de arquivo de origem? - Minha resposta abaixo funcionará para arquivos de texto simples, mas não para imagens.
Doug Harris
@ Doug peço desculpas, na verdade eu interpretei errado a pergunta.
Daniel Beck
11
@ Daniel - O que eu realmente estou buscando é algo mais intensivo em termos gráficos, digamos, páginas HTML. Isso é possível?
tambler
11
Seu principal problema provavelmente é que o aplicativo visualizador depende do formato do arquivo. Decida qual formato deseja e obterá respostas específicas.
Daniel Beck
Respostas:
11
lpré realmente o comando correto. Não há muito, apenas
lpr filename.pdf
deve funcionar simplesmente, presumindo que a impressora padrão esteja configurada corretamente. Caso contrário, você pode ter que fazer
lpr -P printername filename.pdf
Observe que há uma página de manual - "man lpr" se você precisar ver o conteúdo. Sim, o daemon de impressão CUPS que o OS X usa já reconhece o PDF.
A solução fornecida fornece pdf em tamanho zero no Yosemite. Alguma idéia de como resolvê-lo?
Stanislav Mekhonoshin
Desculpe pela duplicação. A solução fornecida fornece PDF de tamanho zero no Yosemite, quando estou tentando extrair o documento .pages. RTF ou txt são bem impressos. Alguma idéia de como consertar isso?
Stanislav Mekhonoshin
O lpr não gera arquivos pdf, então não tenho certeza se entendi o comentário. Você não pode gerar arquivos pdf com o lpr.
Perry
4
Isso não responde à pergunta original, pois era como 'imprimir em pdf', não imprimir um pdf.
dorien
5
Eu sei que vi algo em uma pasta meramente oculta do sistema:
/Library/Scripts/Printing Scripts/Convert To PDF.scpt
Eu criei um novo aplicativo a partir do AppleScript, mas chamar o script diretamente também deve funcionar.
@ 4ae1e1 Não, não é. Apenas esse "converter" não existe. É um link simbólico para / usr / sbin / cupsfilter e o cupsfilter ainda funcionará dessa maneira, mesmo na versão 10.13.6.
Cde 08/11
3
1) O processador Open Source Word, AbiWord , inclui uma opção de conversão entre os formatos que conhece 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.)
Sei que está disponível para Mac, embora nunca o tenha usado em um Mac.
2) O ebook-convertprograma de linha de comando do calibre (no mac, você precisa seguir as instruções aqui para obter as ferramentas de linha de comando) também é útil para muitos formatos.
ebook-convert filename.html filename.pdf
Ele pode lidar com entradas .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 em PDF muito bem.
4) Existe o wkhtmltopdf , que usa o mecanismo do webkit para converter HTML em PDF a partir da linha de comando. Eu nunca tentei.
5) Posso pensar em outros métodos usando, por exemplo, ConTeXt ou pdflatex, mas eles se envolvem cada vez mais.
Nota: O AbiWord não funciona no Mac baseado em intel
inspectorG4dget
2
Para arquivos de texto sem formatação, você pode usar enscript(fornecido com o OS X) para gerar um arquivo postscript.
$ enscript -p ~/Desktop/profile.ps /etc/profile
[ 1 pages * 1 copy ] left in /Users/dharris/Desktop/profile.ps
O aplicativo de visualização do OS X pode abrir (e converter) em PDF ou você pode instalar o ps2pdf (eu o instalei via macports ) e converter na linha de comando.
Op está olhando para imprimir um arquivo arbitrário em um documento PDF, não imprimir um PDF em uma impressora real.
Cde
0
Para arquivos de páginas da Web locais, você pode tentar usar URLs de download como ação do PDF Automator. Baixar e instalar.
Eu tive que iniciar o Automator no modo de 32 bits:
Crie um aplicativo de automação que receba automaticamente arquivos e pastas como entrada , com essa ação como a única. Salvar, por exemplo, como Save as PDF.
Abra a caixa de diálogo Obter informações do seu aplicativo e marque Abrir no modo de 32 bits também aqui. Clique duas vezes nele para garantir que o Launch Services conheça o aplicativo.
Você pode usar este aplicativo na linha de comando desta forma:
osascript -e 'tell application "Save as PDF" to open { POSIX file "/path/to/file.html" as alias }'
Obviamente, você pode colocar isso em um bom AppleScript .scpt, bashfunção, shell script ou 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.
Na verdade, é muito mais fácil do que isso. Você pode apenas digitar na linha de comando open *.pdfe o Preview será aberto com todos os arquivos lá. Estranhamente, se você digitar, open *.pdf */*.pdfobtém duas janelas. Em cada um deles, você precisará ir para a barra lateral, selecionar um dos formatos quadrados (se houver muitos arquivos abertos por padrão no formato de lista que não funcione), digite CMD- Apara selecionar todos, em seguida, use a opção print- comando selected-pages para obter todos eles.
Respostas:
lpr
é realmente o comando correto. Não há muito, apenasdeve funcionar simplesmente, presumindo que a impressora padrão esteja configurada corretamente. Caso contrário, você pode ter que fazer
Observe que há uma página de manual - "man lpr" se você precisar ver o conteúdo. Sim, o daemon de impressão CUPS que o OS X usa já reconhece o PDF.
fonte
Eu sei que vi algo em uma pasta meramente oculta do sistema:
Eu criei um novo aplicativo a partir do AppleScript, mas chamar o script diretamente também deve funcionar.
EDIT: na verdade você pode simplesmente ligar
fonte
1) O processador Open Source Word, AbiWord , inclui uma opção de conversão entre os formatos que conhece 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.)
Sei que está disponível para Mac, embora nunca o tenha usado em um Mac.
2) O
ebook-convert
programa de linha de comando do calibre (no mac, você precisa seguir as instruções aqui para obter as ferramentas de linha de comando) também é útil para muitos formatos.ebook-convert filename.html filename.pdf
Ele pode lidar com entradas .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 em PDF muito bem.
4) Existe o wkhtmltopdf , que usa o mecanismo do webkit para converter HTML em PDF a partir da linha de comando. Eu nunca tentei.
5) Posso pensar em outros métodos usando, por exemplo, ConTeXt ou pdflatex, mas eles se envolvem cada vez mais.
fonte
Para arquivos de texto sem formatação, você pode usar
enscript
(fornecido com o OS X) para gerar um arquivo postscript.O aplicativo de visualização do OS X pode abrir (e converter) em PDF ou você pode instalar o ps2pdf (eu o instalei via macports ) e converter na linha de comando.
fonte
Você também pode usar o pandoc em http://johnmacfarlane.net/pandoc/installing.html
Com este comando, você converteria o arquivo html para pdf:
Mas observe que o pandoc usa o LaTeX para a conversão, portanto você precisa ter um sistema LaTeX instalado ( http://www.tug.org/mactex/ ).
Pandoc também pode converter para outros formatos, como .odt, .docx e .epub
fonte
Primeiro, obtenha o nome da impressora
Em seguida, use o nome da impressora (Canon1234 - por exemplo)
fonte
Para arquivos de páginas da Web locais, você pode tentar usar URLs de download como ação do PDF Automator. Baixar e instalar.
Eu tive que iniciar o Automator no modo de 32 bits:
Crie um aplicativo de automação que receba automaticamente arquivos e pastas como entrada , com essa ação como a única. Salvar, por exemplo, como
Save as PDF
.Abra a caixa de diálogo Obter informações do seu aplicativo e marque Abrir no modo de 32 bits também aqui. Clique duas vezes nele para garantir que o Launch Services conheça o aplicativo.
Você pode usar este aplicativo na linha de comando desta forma:
osascript -e 'tell application "Save as PDF" to open { POSIX file "/path/to/file.html" as alias }'
Obviamente, você pode colocar isso em um bom AppleScript
.scpt
,bash
função, shell script ou 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.
fonte
Na verdade, é muito mais fácil do que isso. Você pode apenas digitar na linha de comando
open *.pdf
e o Preview será aberto com todos os arquivos lá. Estranhamente, se você digitar,open *.pdf */*.pdf
obtém duas janelas. Em cada um deles, você precisará ir para a barra lateral, selecionar um dos formatos quadrados (se houver muitos arquivos abertos por padrão no formato de lista que não funcione), digite CMD- Apara selecionar todos, em seguida, use a opção print- comando selected-pages para obter todos eles.fonte
você pode adicionar o driver de impressora pdf usando
pdf printer
pdf printer
da loja e depoispdf printer
vá para as preferências do sistema
impressoras e scanners abertos
clique no
+
botãona lista de impressoras, selecione
pdf printer
espere um segundo
depois clique em adicionar
configure
pdf printer
como impressora padrão e feche ...abra o terminal e execute o comando para imprimir um arquivo
fonte