Kami memiliki printer di kantor kami yang mencetak file PDF dari stik USB. Ini mencetak sebagian besar file, tetapi memiliki beberapa masalah, terutama yang dihasilkan dengan Lateks. Beberapa PDF itu hanya menolak untuk mencetak, beberapa PDF itu dicetak dengan font jenis kurir, dan beberapa itu mencetak dengan baik kecuali untuk persamaan.
Saya mencari cara untuk "menyaring" PDF ke dalam format mati-yakin untuk dicetak. Baik dengan menyederhanakan / menormalkan PDF ke titik bahwa setiap penyaji akan merendernya dengan benar, atau hanya dengan membuat setiap halaman gambar raster 600dpi dalam PDF. (Saya dapat membagi PDF menjadi gambar raster individual dan menggabungkannya secara manual, tetapi saya ingin sesuatu yang dapat dituliskan skrip.)
Ukuran file output tidak masalah, selama pasti akan dicetak, memiliki ukuran kertas A4 (atau aslinya) dan resolusi 300 ~ 600dpi.
Jawaban:
Setelah gagal mencoba beberapa opsi untuk merender font sebagai garis besar (termasuk pertanyaan ini dan pstoedit), saya menemukan cara untuk dengan mudah mengkonversi PDF ke bentuk raster menggunakan ImageMagick:
Ini menghasilkan PDF yang dibuat pada 600 dpi, dengan antialias dimatikan (tidak perlu pada resolusi itu).
File output sangat besar (~ 30 MB untuk dokumen 8 halaman) dan sangat lambat untuk dicetak, tetapi harus bekerja selama printer memiliki cukup memori untuk membuat konten.
sumber
convert
tidak menyimpan isi formulir yang mungkin telah Anda isi. (Saya ingin meraster file PDF untuk memastikan bahwa konten form terlihat sama di mana-mana, khususnya bahwa mereka akan ditampilkan oleh setiap penampil PDF di tempat pertama.) Untuk menjaga konten form, gunakanevince
(atau apa pun aplikasi yang Anda gunakan untuk mengisi formulir) untuk mencetak dokumen "ke file" - ini adalah PDF lain di mana isi formulir sebenarnya telah menjadi bagian dari teks biasa. Maka Anda masih dapat merasterisasi PDF baru ini, tergantung pada kebutuhan Anda.+antialias
) daripada mematikannya (-antialias
).+antialias
nonaktifkan antialiasing: imagemagick.org/script/command-line-options.php?#antialiasMenggunakan imagemagick, menurut pengalaman saya, tidak stabil dengan resolusi tinggi dan / atau file besar. Banyak printer dapat melakukan 1.200 dpi ke atas, sehingga file raster harus memiliki resolusi yang sama. Solusi yang lebih baik adalah dengan menggunakan pdf2djvu yang lebih cepat, lebih kuat, dan bahkan membuat file dengan ukuran yang sering menyaingi PDF asli pada 1200 atau 2400 dpi. File-file ini dapat dilihat dan dicetak menggunakan okular atau evince.
Contoh:
sumber
Saya pikir cara yang saya sukai saat ini adalah:
Gunakan pdftoppm untuk mengonversi file PDF menjadi serangkaian gambar.
Gunakan img2pdf untuk membuat file pdf dari gambar-gambar itu.
Berita baiknya adalah Anda dapat membuat skrip bash untuk mengotomatiskan seluruh proses untuk Anda.
Berikut ini adalah skrip bash yang akan menyaring semua file pdf dalam direktori dan melestarikan dokumen asli di direktori "asli" baru.
Kredit: jawaban img2pdf & jawaban pdftoppm & bantuan skrip bash: 1 & 2
(Catatan) Anda dapat menginstal img2pdf menggunakan:
sumber
Alternatif lain adalah mengonversi ke gambar melalui sesuatu seperti
pdfimages
Dari halaman manual, "Pdfimages menyimpan gambar dari file Portable Document Format (PDF) sebagai Portable Pixmap (PPM), Portable Bitmap (PBM), atau file JPEG. Pdfimages membaca file PDF file PDF, memindai satu atau lebih halaman file, dan memindai menulis satu file PPM, PBM, atau JPEG untuk setiap gambar, image-root-nnn.xxx, di mana nnn adalah nomor gambar dan xxx adalah tipe gambar (.ppm, .pbm, .jpg). "
Kemudian gunakan pdftk untuk mengkonversi kembali ke PDF https://www.pdflabs.com/docs/pdftk-cli-examples/
Akhirnya, cetak file ini. Jelas, pertanyaan kuncinya adalah bagaimana membuat skrip ini.
Anda dapat mengotomatisasi ini melalui halaman web sederhana semacam untuk pengguna. Akhirnya, mereka mencetak file yang dikonversi dan Anda harus memiliki kinerja yang lebih tinggi dan hasil kerja?
sumber