Kemungkinan untuk mencetak ke PDF dari terminal Mac?


16

Apakah mungkin untuk mengambil file dan mencetaknya ke PDF menggunakan perintah terminal? Saya kira Anda entah bagaimana akan menggunakan perintah lpr, tetapi saya belum menemukan sintaks yang benar.


Jenis file apa? teks biasa?
Doug Harris

1
@Aniel, saya seharusnya lebih jelas dalam pertanyaan saya: Apa jenis file sumber? - Jawaban saya di bawah ini akan berfungsi untuk file teks biasa, tetapi tidak untuk gambar.
Doug Harris

@Apakah saya minta maaf, sebenarnya saya salah membaca pertanyaan.
Daniel Beck

1
@Daniel - Apa yang saya benar-benar bertujuan adalah sesuatu yang lebih intensif secara grafis, katakanlah halaman HTML. Apakah ini mungkin?
tambler

1
Masalah utama Anda mungkin adalah, bahwa aplikasi pemirsa bergantung pada format file. Tentukan format apa yang Anda inginkan dan Anda akan mendapatkan jawaban spesifik.
Daniel Beck

Jawaban:


10

lpr memang perintah yang benar. Tidak banyak, hanya saja

lpr filename.pdf

seharusnya hanya bekerja, dengan anggapan bahwa printer default diatur dengan benar. Jika tidak, Anda mungkin harus melakukannya

lpr -P printername filename.pdf

Perhatikan bahwa ada halaman manual - "man lpr" jika Anda perlu melihat kontennya. Ya, daemon cetak CUPS yang digunakan OS X sudah sadar PDF.


Solusi yang disediakan memberikan pdf ukuran nol pada Yosemite. Ada ide bagaimana mengatasinya?
Stanislav Mekhonoshin

Maaf untuk duplikasi. Solusi yang diberikan memberikan nol ukuran pdf pada Yosemite, ketika saya mencoba untuk pring. Halaman dokumen. RTF atau txt dicetak dengan baik. Ada ide bagaimana cara memperbaikinya?
Stanislav Mekhonoshin

lpr tidak menghasilkan file pdf, jadi saya tidak yakin saya mengerti komentarnya. Anda tidak dapat membuat file pdf dengan lpr.
Perry

4
Ini tidak menjawab pertanyaan awal seperti bagaimana cara 'mencetak ke pdf', bukan mencetak pdf.
dorien

4

Saya tahu bahwa saya telah melihat sesuatu di folder sistem yang tersembunyi:

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

Saya telah membuat aplikasi baru dari AppleScript tetapi memanggil skrip secara langsung juga akan berfungsi.

EDIT: sebenarnya Anda cukup menelepon

/System/Library/Printers/Libraries/convert -f file.rtf -o file.pdf -j "application/pdf"

6
Jawaban ini sudah usang. Diuji dalam OS X 10.9.5.
4ae1e1

@ 4ae1e1 Tidak, tidak. Hanya saja "orang insaf" tidak ada. Ini symlink ke / usr / sbin / cupsfilter dan cupsfilter masih akan bekerja dengan cara ini bahkan pada 10.13.6.
cde

3

1) Pengolah Kata Open Source, AbiWord , termasuk opsi untuk mengkonversi antara format apa pun yang diketahuinya di baris perintah, termasuk PDF, misalnya,

abiword --to=pdf filename.html

(Ini juga akan menangani, mis., File .doc MS Word, .docx, .odt, .rtf, dll., Baik input maupun output.)

Saya tahu ini tersedia untuk Mac, meskipun saya belum pernah menggunakannya di mac.

2) ebook-convert program baris perintah dari kaliber (di mac Anda harus mengikuti instruksi sini untuk mendapatkan alat-alat baris perintah) berguna untuk banyak format juga.

ebook-convert filename.html filename.pdf

Ia dapat menangani input .rtf dan .odt, dan banyak format ebook seperti .epub dan .mobi.

3) PrinceXML dapat digunakan pada commandline, dan akan mengkonversi HTML ke PDF dengan sangat indah.

4) Ada wkhtmltopdf , yang menggunakan mesin webkit untuk mengonversi HTML ke PDF dari commandline. Saya belum pernah mencobanya.

5) Saya dapat memikirkan metode lain menggunakan, mis., ConTeXt atau pdflatex, tetapi mereka semakin terlibat.


NB: AbiWord tidak bekerja pada Mac berbasis intel
inspectorG4dget

2

Untuk file teks biasa, Anda dapat menggunakan enscript (dilengkapi dengan OS X) untuk menghasilkan file postscript.

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

Aplikasi Pratinjau OS X dapat membuka (dan mengonversi) ke PDF, atau Anda dapat menginstal ps2pdf (Saya menginstalnya via macport ) dan konversi pada baris perintah.

$ ps2pdf ~/Desktop/profile.ps ~/Desktop/profile.pdf

Bagaimana jika saya ingin melakukan sesuatu yang lebih intensif secara grafis? Katakanlah, mengonversi halaman HTML ke PDF dari terminal?
tambler

Saya tahu ini sudah tua, tetapi PhantomJS dapat melakukan ini, dan ia melakukannya dengan sangat baik.
Brad


0

Untuk file halaman web lokal, Anda dapat mencoba menggunakannya Unduh URL sebagai PDF Tindakan automator. Unduh dan pasang.


Saya harus menjalankan Automator dalam mode 32 bit:

alt text


Buat Pengotomasi Aplikasi itu secara otomatis menerima file dan folder sebagai input , dengan aksi ini sebagai satu-satunya. Simpan mis. sebagai Save as PDF.

Buka Mendapatkan informasi dialog aplikasi Anda, dan periksa Buka dalam mode 32-bit juga di sini. Klik dua kali untuk memastikan Luncurkan Layanan tahu aplikasinya.


Anda dapat menggunakan aplikasi ini dari baris perintah seperti ini:

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

Tentu saja, Anda dapat membungkusnya dengan AppleScript yang bagus .scpt, bash fungsi, skrip shell, atau apa yang tidak.


Solusi ini sebenarnya cukup fleksibel. Saya dapat mengonversi file teks dan file HTML, dan tindakan Automator juga agak dapat dikonfigurasi.


0

Pertama-tama dapatkan nama printer

lpstat -p

Kemudian gunakan nama printer (Canon1234 - misalnya)

lp -d Canon1234 PathToDocument.pdf

Op sedang mencari untuk mencetak file sewenang-wenang ke dokumen pdf, bukan mencetak pdf ke printer nyata.
cde

0

Sebenarnya ini jauh lebih mudah dari itu. Anda cukup mengetik di baris perintah open *.pdf dan Pratinjau akan terbuka dengan semua file di sana. Aneh meskipun jika Anda mengetik open *.pdf */*.pdf Anda mendapatkan dua jendela. Di setiap Anda kemudian harus pergi ke bilah sisi, pilih salah satu format boxy (jika ada banyak file yang dibuka secara default dalam format daftar yang tidak berfungsi) ketik CMD - SEBUAH untuk memilih semua, kemudian gunakan perintah print-selected-pages untuk mendapatkan semuanya.


0

Anda dapat menambahkan driver printer pdf dari menggunakan pdf printer

  • instal dulu pdf printer dari toko kalau begitu
  • mulai pdf printer
  • buka preferensi sistem

  • buka printer dan pemindai

  • klik + tombol

  • dalam daftar printer pilih pdf printer

  • tunggu sebentar

  • lalu klik add

  • set pdf printer sebagai printer default kemudian tutup ...

terminal terbuka kemudian jalankan perintah untuk mencetak file

lp /path/to/your/file/to/print.txt
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.