Bagaimana cara mengirim untuk mencetak (banyak) file yang dipilih dalam direktori alih-alih satu per satu?

10

Saya menggunakan Ubuntu 12,04 dan berhasil menginstal printer wi-fi saya, tetapi pertanyaan saya adalah: Bagaimana cara mencetak banyak file sekaligus? Maksud saya, saya memiliki banyak file PDF atau teks dalam folder dan saya ingin mengirimkannya langsung ke printer daripada membuka satu per satu di penampil file dan kemudian mencetak dan kemudian mengulangi seluruh proses berkali-kali /:

Saya bahkan tidak melihat opsi Cetak ketika mengklik kanan pada file atau dalam menu File.

Terima kasih!

Oscar
sumber

Jawaban:

4

Buat file: ~ / .local / share / aplikasi / print.desktop Masukkan:

[Desktop Entry]
Encoding=UTF-8
Name=Print Directly
Comment=Print file directly with default printer.
Exec=lp %f
Type=Application
Icon=/usr/share/pixmaps/gnome-applets.png
MimeType=text/plain;text/pdf;application/pdf;application/x-pdf

Klik kanan pada file pdf apa pun, di "Buka dengan ..." lihat daftar aplikasi yang tersedia untuk file pdf yang luas. Temukan entri "Print Directly" dan tambahkan asosiasi. Mulai sekarang Anda dapat mengklik kanan pada file pdf (atau grup) apa saja dan mencetaknya dengan perintah lp pada printer default Anda . Jika Anda ingin melakukan percobaan, instal printer CUPS-PDF dan tetapkan sebagai default di pengaturan Printers.

sudo apt-get install cups-pdf

Anda akan memiliki file uji "dicetak" ke folder ~ / PDF.

mitos
sumber
4

Saya telah melakukan sebuah script yang akan mengirimkan file yang diinginkan ke printer default: Anda mungkin harus mengubah itu untuk memilih folderbahwa file Anda dan menjalankannya sekali untuk .pdfdan kemudian untuk .txt:
find /home/mike/KeyGuides/ -type f -iname '*.txt' -print0 | while IFS= read -r -d '' f; do lpr "$f"; done. Itu bekerja karena saya baru saja mengujinya; pastikan saja printer yang diinginkan diatur sebagai default.

Jika Anda memiliki masalah, saya akan melihat apakah saya dapat memodifikasinya seperlunya. (Anda dapat menggunakan opsi lain untuk lpr jika Anda perlu -lihat man lpr) Ini seharusnya bekerja untuk sebagian besar printer-ini berhasil dengan Canon IP4700 saya.

Versi skrip ini juga memindahkan setiap dokumen cetak ke direktori (yang harus Anda buat sebelumnya), sehingga ketika skrip dijalankan hanya dokumen-dokumen baru yang dicetak:

find /home/mike/Duck/ -type f -iname '*.txt' -print0 | while IFS= read -r -d '' f;
 do lpr "$f" && mv "$f" /home/mike/Duck/printed/ ; done

sumber
Hai: terima kasih atas saran Anda, tetapi bagaimana jika saya ingin mencetak banyak file tetapi tidak semua file pada direktori itu? Itulah yang ingin saya lakukan, karena ketika saya menyimpan file baru di direktori itu saya hanya mencetak file baru. Semoga saya jelaskan dengan baik :)
Oscar
Itu benar-benar pertanyaan yang berbeda dengan yang asli tanyakan, tetapi saya akan melihat apakah saya dapat melakukan sesuatu dengan skrip - mungkin sulit untuk hanya mencetak yang belum dicetak; walaupun yang bisa kami lakukan hanyalah menambahkan perintah untuk memindahkan setiap dokumen ke folder yang ditentukan setelah dicetak. Seharusnya dimungkinkan untuk memasukkan itu ke loop sementara.
Harap dicatat bahwa lpr hanya berfungsi pada teks biasa. Anda harus menggunakan alat lain yang mengirim pekerjaan cetak ke CUPS jika ini tentang PDF, misalnya.
Cumulus007
Hai, pertanyaan yang tidak begitu berbeda, itu sebabnya saya memasukkan "banyak" dan "dipilih" dalam nama pertanyaan, sehingga dapat semuanya atau beberapa di antaranya: D OK, harap Anda menemukan solusi untuk mencapainya. Terimakasih banyak!
Oscar
1
lpr bekerja dengan pdfs- perintah lpr bash_FAQ.pdf mencetaknya dengan sempurna.
0

Ini bukan solusi langsung untuk Sistem Operasi Linux Ubuntu:

Juga, solusi yang lebih kompleks:

Instal nautilus-actionspaket

Jalankan menu Nautilus Actions Settingsdari System> Preferencesdan tambahkan beberapa tindakan:

Tab Tindakan

Item Nautilus

Label Konteks: Cetak

Tampilkan item dalam menu konteks pilihan

Tampilkan item dalam menu konteks lokasi (tidak diperlukan)

Properti Tindakan: Diaktifkan

Tab Perintah

Label Profil:

Perintah Default:

Path: lp

Parameter:% M (klik tombol legenda untuk melihat info tambahan)

Edit informasi tab lain yang Anda inginkan agar nautilus Anda berperilaku.

Simpan aksinya, mulai ulang nautilus.

Menu konteks Anda akan muncul "Cetak" ...

Sumber: UbuntuForums

Menggunakan metode sederhana:

Buka terminal dan ketik lprdan letakkan spasi di depannya. Kemudian seret dan taruh file yang ingin Anda cetak di terminal.

David M. Sousa
sumber
Hai, saya menambahkan tindakan dan perintah di Nautilus seperti yang ditunjukkan, menu muncul ketika mengklik kanan file tetapi tidak ada yang terjadi /: Metode terminal berhasil, tetapi ketika mencetak file pdf, halaman yang dihasilkan dicetak memiliki font lain dan bukan yang Anda lihat ketika membuka dengan visor.
Oscar
Maaf, tapi ini bukan pengetahuan saya sendiri. Saya mengunyah beberapa situs untuk mengambil informasi yang baru saja saya posting. Anda harus memeriksa, pada kasus Nautilus, dokumentasi lp. Mungkin itu tidak menargetkan printer Anda.
David M. Sousa
0

Versi terbaru CUPS menambahkan kemampuan untuk mencetak pdf secara langsung. 11.10 dan rilis yang lebih baru (dan mungkin lebih tua) memilikinya.

Pendekatan lain (yang saya gunakan dengan paket emulator pencetakan dupleks (dua sisi)) adalah menggunakan Cetak Ke File untuk semua pekerjaan cetak Anda dan menempatkannya di folder yang secara efektif menjadi antrian cetak pribadi Anda. Setelah mereka ada di sana, Anda dapat mencetak sebagian atau semuanya ketika Anda mau dan menghapusnya setelah selesai.

Ini memiliki keuntungan tambahan untuk memungkinkan Anda menjalankan kembali pekerjaan setelah kertas macet, dll. Tanpa membuatnya kembali dari awal. Ini juga memungkinkan Anda untuk terus bekerja tanpa henti untuk mengelola printer Anda.

Jika mau, Anda dapat menulis skrip kecil yang akan berjalan di latar belakang dan mulai mencetak hal-hal yang muncul dalam antrian cetak Anda. Jika Anda melakukan semua ini, Anda mungkin ingin memberi nama pekerjaan cetak Anda sehingga mereka mengurutkan dalam antrian sesuai urutan yang Anda inginkan untuk mencetak. Saya hanya menggunakan 00 ... 99 untuk nama.

Untuk file teks, cari orang-orang yang mungkin memiliki garis panjang. CUPS (setidaknya secara default) tidak akan membungkus garis untuk Anda atau mengatur margin halaman yang bagus.

Sistem pencetakan dupleks saya melakukan lebih dari apa yang Anda minta, tetapi mungkin memberi Anda beberapa ide. Khususnya ia memiliki dua skrip pembantu kecil cetak dan dprintm yang mengambil teks dan menjinakkannya sedikit sebelum mengirimnya ke printer.

http://sourceforge.net/projects/duplexpr/
Joe
sumber
0

Saya tahu ini sudah tua - tetapi cara untuk melakukan ini sekarang direvisi seperti yang saya temukan hari ini:

Anda perlu menginstal filemanager-tindakan - itu sudah ada di sistem saya

sudo apt-get install filemanager-actions

Selanjutnya dapatkan tindakan nautilus

sudo add-apt-repository ppa:dr3mro/nautilus-actions-extra
sudo apt-get update
sudo apt-get install nautilus-actions

Buka FileManager-Actions dan buat tindakan baru seperti di atas:

Action Tab
    Nautilus Item
        Display item in selection context menu (tick)
        Display item in location context menu (tick)
        Context Label : Print
        Display item in the toolbar (tick)
        Use same label for icon in the toolbar (tick)

Command Tab
    Profile
        Label: Default profile
    Command
        Path: lp
        Parameters: %f
        Working directory: %d

Edit informasi tab lain yang Anda inginkan agar nautilus Anda berperilaku.

Simpan aksinya, mulai ulang nautilus.

Menu konteks Anda akan muncul "Cetak" ...

beberapa tautan membantu saya: LibreOffice Cetak Klik Kanan Cetak

Matthew Hudson
sumber
-1

Atau gunakan Ruby :-)

sudo apt-get install ruby
irb
Dir.glob('*.*').each{ |f| `lp '#{ f }'` }
msa.im
sumber