Apa itu "Cetak ke File" dan dapatkah itu digunakan dari baris perintah?

12

Ketika Anda memilih "Cetak ke File" di dialog cetak Gnome (bukan cangkir-pdf):

cetak-ke-file

... apa perintah aktual yang dijalankan? (Saya tertarik dengan varian postscript, seperti pada gambar)

Di sisi lain - mungkin tidak ada panggilan perintah; mungkin itu gtk_print_operation_set_export_filenamedari The Gtk + Printing API baru ?

Dalam hal apapun - apakah ada cara bagi saya untuk memanfaatkan kode khusus ini dari baris perintah (bukan pdf2psdan sejenisnya)? Katakanlah, dengan menggunakan lpruntuk "mencetak ke file" ke file postscript - seolah-olah saya menggunakan dialog di atas?

sdaau
sumber
3
AFAIK, ini adalah fitur subsistem yang digunakan oleh beberapa aplikasi GNOME dan GTK + untuk mencetak barang-barang (beberapa di antaranya menggunakan Kairo). lprberinteraksi cupssecara langsung, opsi cetak ke file sepenuhnya melewati server pencetakan. mungkin tidak memanggil perintah, itu hanya memanggil fungsi renderering Kairo dengan cara yang berbeda sehingga menghasilkan pdf, postscript atau output svg ke file.
njsg
Ah, jadi itu cairo backend di sana! Adakah gagasan jika tersedia baris perintah yang sebanding, yang dapat menjalankan fungsi rendering ini dengan cara yang sama seperti dialog cetak? Terima kasih banyak atas komentarnya, @njsg - cheers!
sdaau
3
Mungkin ada beberapa alat baris perintah cairo (saya benar-benar tidak tahu), tapi saya kira ini agak sulit, karena banyak aplikasi menggunakan cairo untuk mencetak dokumen mereka sendiri, dan aplikasi itu adalah yang dapat memahami format file . Kairo tidak akan dapat membaca format file acak. Cara terdekat yang bisa Anda dapatkan adalah memeriksa apakah program dengan dialog memiliki beberapa opsi baris perintah untuk mencetak file tanpa membuka GUI.
njsg
Terima kasih telah menjelaskan bahwa @njsg - tangkapan layar di atas diambil dari evincedialog cetak; Sayangnya, saya tidak dapat melihat saklar baris perintah evinceyang akan melakukan sesuatu seperti ini .. Ceria!
sdaau
Ini hanya konvensi UI, setiap program pada prinsipnya dapat melakukan apa yang mereka inginkan ketika "Cetak ke file" dipilih.
vonbrand

Jawaban:

4

Anda dapat menggunakan cups-pdfpaket sebagai solusi yang independen dari gnome. Setelah menginstal paket, tambahkan printer PDF menggunakan cangkir webinterface di http://localhost:631seperti yang dijelaskan di sini (' Umum' sebagai produsen printer, CUPS-PDF sebagai driver ).

Untuk kenyamanan Anda, mengubah direktori output dengan pilihan Outdi /etc/cups/cups-pdf.confuntuk, seperti, ${HOME}atau apa pun yang Anda inginkan. Kemudian lakukan seperti yang disarankan oleh @ Noam untuk mencetak ke file.

J. Katzwinkel
sumber
2
lpr -P "Print_to_PDF" file_to_print

Untuk mendapatkan daftar printer yang saat ini dikonfigurasi, jalankan lpstat -p -d.

Noam Kremen
sumber
mmm, -P "Print_to_PDF" memberi saya kesalahan ini "lpr: Printer atau kelas tidak ada."
Aubrey
0

Anda juga dapat menggunakan perintah pencetakan lp untuk mencetak file ke printer default (atau hanya) pada sistem:

lp filename

atau ke printer tertentu

lp -d printer filename
Andriy Simonov
sumber
0

Print-to-file mengirim dokumen bukan ke printer tetapi ke dokumen pdf.

Hal yang sama dapat dilakukan dengan sistem pencetakan gelas, yang digunakan aplikasi Anda ketika mereka mengirim perintah cetak.

Gunakan alat cupfilter. Secara efektif mengkonversi dokumen. Itu dikonversi ke pdf secara default.

$ cupsfilter inputfilename > outputfilename.pdf

Seperti dijelaskan di sini .

markling
sumber