¿Es posible imprimir en PDF desde el terminal Mac?
19
¿Es posible tomar un archivo e imprimirlo en un PDF usando nada más que comandos de terminal? Supongo que de alguna manera harías uso del comando lpr, pero aún no he descubierto la sintaxis correcta.
@Daniel, debería haber sido más claro en mi pregunta: ¿Qué tipo de archivo fuente? - Mi respuesta a continuación funcionará para archivos de texto sin formato, pero no para imágenes.
Doug Harris
@Doug Me disculpo, en realidad leí mal la pregunta.
Daniel Beck
1
@Daniel: lo que realmente estoy buscando es algo más intensivo gráficamente, digamos páginas HTML. es posible?
tambler
1
Su principal problema probablemente es que la aplicación del visor depende del formato de archivo. Decide qué formato quieres y obtendrás respuestas específicas.
Daniel Beck
Respuestas:
11
lpres de hecho el comando correcto. No hay mucho, solo
lpr filename.pdf
simplemente debería funcionar, suponiendo que la impresora predeterminada esté configurada correctamente. Si no, puede que tengas que hacer
lpr -P printername filename.pdf
Tenga en cuenta que hay una página man - "man lpr" si necesita ver el contenido. Sí, el demonio de impresión CUPS que usa OS X ya es compatible con PDF.
La solución provista proporciona pdf de tamaño cero en Yosemite. ¿Alguna idea de cómo resolverlo?
Stanislav Mekhonoshin
Perdón por la duplicación. La solución proporcionada proporciona pdf de tamaño cero en Yosemite, cuando estoy tratando de extraer documentos .pages. RTF o txt se imprimen bien. ¿Alguna idea para solucionarlo?
Stanislav Mekhonoshin 01 de
lpr no genera archivos pdf, por lo que no estoy seguro de entender el comentario. No puede generar archivos pdf con lpr.
Perry
44
Esto no responde a la pregunta original, ya que era cómo 'imprimir en pdf', no imprimir un pdf.
dorien
5
Sé que he visto algo en una carpeta del sistema simplemente oculta:
/Library/Scripts/Printing Scripts/Convert To PDF.scpt
He creado una nueva aplicación desde AppleScript, pero también debería funcionar llamar directamente al script.
Esta respuesta es obsoleta. Probado en OS X 10.9.5.
4ae1e1
@ 4ae1e1 No, no lo es. Solo que "convertir" no existe. Es un enlace simbólico a / usr / sbin / cupsfilter y cupsfilter seguirá funcionando de esta manera incluso en 10.13.6.
cde
3
1) El procesador de texto de código abierto, AbiWord , incluye una opción de conversión entre cualquier formato que conozca en la línea de comandos, incluido PDF, por ejemplo,
abiword --to=pdf filename.html
(También manejará, por ejemplo, archivos .doc de MS Word, .docx, .odt, .rtf, etc., tanto de entrada como de salida).
Sé que está disponible para Mac, aunque nunca lo he usado en una Mac.
2) El ebook-convertprograma de línea de comandos de calibre (en Mac necesita seguir las instrucciones aquí para obtener las herramientas de línea de comandos) también es útil para muchos formatos.
ebook-convert filename.html filename.pdf
Puede manejar entradas .rtf y .odt, y muchos formatos de libros electrónicos como .epub y .mobi.
3) PrinceXML se puede usar en la línea de comandos y convertirá HTML a PDF muy bien.
4) Hay wkhtmltopdf , que usa el motor de webkit para convertir HTML a PDF desde la línea de comandos. Nunca lo he intentado.
5) Puedo pensar en otros métodos usando, por ejemplo, ConTeXt o pdflatex, pero se involucran cada vez más.
Para archivos de texto sin formato, puede usar enscript(viene con OS X) para generar un archivo postscript.
$ enscript -p ~/Desktop/profile.ps /etc/profile
[ 1 pages * 1 copy ] left in /Users/dharris/Desktop/profile.ps
La aplicación de Vista previa de OS X se puede abrir (y convertir) a PDF, o puede instalar ps2pdf (lo instalé a través de macports ) y convertir en la línea de comando.
Op está buscando imprimir un archivo arbitrario en un documento pdf, no imprimir un pdf en una impresora real.
cde
0
Para los archivos de la página web local, puede intentar usar URL de descarga como acción de PDF Automator. Descargar e instalar.
Tuve que iniciar Automator en modo de 32 bits:
Cree una aplicación de Automator que reciba automáticamente archivos y carpetas como entrada , con esta acción como la única. Guardar, por ejemplo, como Save as PDF.
Abra el cuadro de diálogo Obtener información de su aplicación y marque Abrir en modo de 32 bits también aquí. Haga doble clic una vez para asegurarse de que Launch Services conozca la aplicación.
Puede usar esta aplicación desde la línea de comandos de esta manera:
osascript -e 'tell application "Save as PDF" to open { POSIX file "/path/to/file.html" as alias }'
Por supuesto, puede envolver esto en un buen AppleScript .scpt, bashfunción, script de shell o lo que no.
Esta solución es realmente bastante flexible. Pude convertir archivos de texto y archivos HTML, y la acción de Automator también es algo configurable.
En realidad es mucho más fácil que eso. Simplemente puede escribir en la línea de comando open *.pdfy se abrirá Vista previa con todos los archivos allí. Curiosamente, si escribes open *.pdf */*.pdf, obtienes dos ventanas. En cada uno, debe ir a la barra lateral, seleccionar uno de los formatos de recuadro (si hay muchos archivos que se abre de forma predeterminada en el formato de lista que no funciona) escriba CMD- Apara seleccionar todo, luego use la impresión- comando de páginas seleccionadas para obtenerlas todas.
Respuestas:
lpr
es de hecho el comando correcto. No hay mucho, solosimplemente debería funcionar, suponiendo que la impresora predeterminada esté configurada correctamente. Si no, puede que tengas que hacer
Tenga en cuenta que hay una página man - "man lpr" si necesita ver el contenido. Sí, el demonio de impresión CUPS que usa OS X ya es compatible con PDF.
fuente
Sé que he visto algo en una carpeta del sistema simplemente oculta:
He creado una nueva aplicación desde AppleScript, pero también debería funcionar llamar directamente al script.
EDITAR: en realidad simplemente puedes llamar
fuente
1) El procesador de texto de código abierto, AbiWord , incluye una opción de conversión entre cualquier formato que conozca en la línea de comandos, incluido PDF, por ejemplo,
abiword --to=pdf filename.html
(También manejará, por ejemplo, archivos .doc de MS Word, .docx, .odt, .rtf, etc., tanto de entrada como de salida).
Sé que está disponible para Mac, aunque nunca lo he usado en una Mac.
2) El
ebook-convert
programa de línea de comandos de calibre (en Mac necesita seguir las instrucciones aquí para obtener las herramientas de línea de comandos) también es útil para muchos formatos.ebook-convert filename.html filename.pdf
Puede manejar entradas .rtf y .odt, y muchos formatos de libros electrónicos como .epub y .mobi.
3) PrinceXML se puede usar en la línea de comandos y convertirá HTML a PDF muy bien.
4) Hay wkhtmltopdf , que usa el motor de webkit para convertir HTML a PDF desde la línea de comandos. Nunca lo he intentado.
5) Puedo pensar en otros métodos usando, por ejemplo, ConTeXt o pdflatex, pero se involucran cada vez más.
fuente
Para archivos de texto sin formato, puede usar
enscript
(viene con OS X) para generar un archivo postscript.La aplicación de Vista previa de OS X se puede abrir (y convertir) a PDF, o puede instalar ps2pdf (lo instalé a través de macports ) y convertir en la línea de comando.
fuente
También puede usar pandoc desde http://johnmacfarlane.net/pandoc/installing.html
Con este comando, convertiría el archivo html a pdf:
Pero tenga en cuenta que pandoc usa LaTeX para la conversión, por lo que debe tener un sistema LaTeX instalado ( http://www.tug.org/mactex/ ).
Pandoc también puede convertir a otros formatos como .odt, .docx y .epub
fuente
Primero obtenga el nombre de la impresora
Luego use el nombre de la impresora (Canon1234 - por ejemplo)
fuente
Para los archivos de la página web local, puede intentar usar URL de descarga como acción de PDF Automator. Descargar e instalar.
Tuve que iniciar Automator en modo de 32 bits:
Cree una aplicación de Automator que reciba automáticamente archivos y carpetas como entrada , con esta acción como la única. Guardar, por ejemplo, como
Save as PDF
.Abra el cuadro de diálogo Obtener información de su aplicación y marque Abrir en modo de 32 bits también aquí. Haga doble clic una vez para asegurarse de que Launch Services conozca la aplicación.
Puede usar esta aplicación desde la línea de comandos de esta manera:
osascript -e 'tell application "Save as PDF" to open { POSIX file "/path/to/file.html" as alias }'
Por supuesto, puede envolver esto en un buen AppleScript
.scpt
,bash
función, script de shell o lo que no.Esta solución es realmente bastante flexible. Pude convertir archivos de texto y archivos HTML, y la acción de Automator también es algo configurable.
fuente
En realidad es mucho más fácil que eso. Simplemente puede escribir en la línea de comando
open *.pdf
y se abrirá Vista previa con todos los archivos allí. Curiosamente, si escribesopen *.pdf */*.pdf
, obtienes dos ventanas. En cada uno, debe ir a la barra lateral, seleccionar uno de los formatos de recuadro (si hay muchos archivos que se abre de forma predeterminada en el formato de lista que no funciona) escriba CMD- Apara seleccionar todo, luego use la impresión- comando de páginas seleccionadas para obtenerlas todas.fuente
puede agregar el controlador de impresora pdf usando
pdf printer
pdf printer
desde la tienda luegopdf printer
ir a las preferencias del sistema
abra impresoras y escáneres
haga clic en el
+
botónen la lista de impresoras seleccione
pdf printer
Espera un segundo
luego haga clic en agregar
establecer
pdf printer
como impresora predeterminada y luego cerrar ...abra la terminal y luego ejecute el comando para imprimir un archivo
fuente