È possibile prendere un file e stamparlo su un PDF usando nient'altro che comandi terminali? Immagino che in qualche modo faresti uso del comando lpr, ma devo ancora scoprire la sintassi corretta.
È possibile prendere un file e stamparlo su un PDF usando nient'altro che comandi terminali? Immagino che in qualche modo faresti uso del comando lpr, ma devo ancora scoprire la sintassi corretta.
Risposte:
lpr
è davvero il comando corretto. Non c'è molto da fare, solo
lpr filename.pdf
dovrebbe semplicemente funzionare, presumendo che la stampante predefinita sia impostata correttamente. In caso contrario, potresti doverlo fare
lpr -P printername filename.pdf
Nota che c'è una pagina man - "man lpr" se hai bisogno di vedere il contenuto. Sì, il demone di stampa CUPS utilizzato da OS X è già compatibile con PDF.
So di aver visto qualcosa in una cartella di sistema semplicemente nascosta:
/Library/Scripts/Printing Scripts/Convert To PDF.scpt
Ho creato una nuova applicazione da AppleScript ma anche la chiamata diretta dello script dovrebbe funzionare.
EDIT: in realtà puoi semplicemente chiamare
/System/Library/Printers/Libraries/convert -f file.rtf -o file.pdf -j "application/pdf"
1) L'elaboratore di testi Open Source, AbiWord , include un'opzione di conversione tra tutti i formati che conosce sulla riga di comando, incluso PDF, ad es.
abiword --to=pdf filename.html
(Gestirà anche, ad esempio, file .doc di MS Word, .docx, .odt, .rtf, ecc., Sia input che output.)
So che è disponibile per Mac, anche se non l'ho mai usato su un Mac.
2) Il ebook-convert
programma da riga di comando di calibre (su Mac è necessario seguire le istruzioni qui per ottenere gli strumenti da riga di comando) è utile anche per molti formati.
ebook-convert filename.html filename.pdf
Può gestire input .rtf e .odt e molti formati di ebook come .epub e .mobi.
3) PrinceXML può essere utilizzato dalla riga di comando e converte HTML in PDF in modo molto bello.
4) C'è wkhtmltopdf , che utilizza il motore webkit per convertire HTML in PDF dalla riga di comando. Non l'ho mai provato.
5) Posso pensare ad altri metodi usando, ad esempio, ConTeXt o pdflatex, ma sono sempre più coinvolti.
Per i file di testo normale, è possibile utilizzare enscript
(fornito con OS X) per generare un file PostScript.
$ enscript -p ~/Desktop/profile.ps /etc/profile
[ 1 pages * 1 copy ] left in /Users/dharris/Desktop/profile.ps
L'app Anteprima di OS X può aprire (e convertire) in PDF oppure puoi installare ps2pdf (l'ho installato tramite macports ) e convertirlo dalla riga di comando.
$ ps2pdf ~/Desktop/profile.ps ~/Desktop/profile.pdf
Puoi anche usare pandoc da http://johnmacfarlane.net/pandoc/installing.html
Con questo comando convertiresti il file html in pdf:
pandoc -o output.pdf input.html
Ma nota che pandoc usa LaTeX per la conversione, quindi devi avere un sistema LaTeX installato ( http://www.tug.org/mactex/ ).
Pandoc può anche convertire in altri formati come .odt, .docx e .epub
Prima ottenere il nome della stampante
lpstat -p
Quindi utilizzare il nome della stampante (Canon1234 - ad es.)
lp -d Canon1234 PathToDocument.pdf
Per i file di pagine Web locali, puoi provare a utilizzare Scarica URL come azione di Automator PDF . Scarica e installa.
Ho dovuto avviare Automator in modalità 32 bit:
Crea un Automator applicazione che automaticamente riceve i file e le cartelle come input , con questa azione come l'unico. Salva ad es Save as PDF
. Come .
Apri la finestra di dialogo Ottieni informazioni dell'applicazione e seleziona Apri in modalità 32 bit anche qui. Fare doppio clic una volta per assicurarsi che Launch Services conosca l'applicazione.
È possibile utilizzare questa applicazione dalla riga di comando in questo modo:
osascript -e 'tell application "Save as PDF" to open { POSIX file "/path/to/file.html" as alias }'
Naturalmente, puoi racchiuderlo in un bel AppleScript .scpt
, in una bash
funzione, in uno script di shell o altro.
Questa soluzione è in realtà piuttosto flessibile. Sono stato in grado di convertire file di testo e file HTML e anche l'azione di Automator è alquanto configurabile.
In realtà è molto più semplice di così. Puoi semplicemente digitare dalla riga di comando open *.pdf
e Anteprima si aprirà con tutti i file lì. Stranamente, se si digita, open *.pdf */*.pdf
si ottengono due finestre. In ognuno devi quindi andare nella barra laterale, selezionare uno dei formati boxy (se ci sono molti file che si apre di default nel formato elenco che non funziona) digitare CMD- Aper selezionare tutto, quindi utilizzare la stampa- comando di pagine selezionate per ottenerli tutti.
è possibile aggiungere il driver della stampante pdf dall'uso pdf printer
pdf printer
dal negozio quindipdf printer
vai alle preferenze di sistema
aprire stampanti e scanner
fare clic sul +
pulsante
nell'elenco delle stampanti selezionare pdf printer
aspetta un secondo
quindi fai clic su Aggiungi
imposta pdf printer
come stampante predefinita quindi chiudi ...
aprire il terminale quindi eseguire il comando per stampare un file
lp /path/to/your/file/to/print.txt