Ada banyak pertanyaan di luar sana tentang bagaimana mengkonversi file PDF ke gambar PNG, tapi saya mencari untuk mengambil file PNG yang tajam dan pada dasarnya membungkusnya atau menanamkannya dalam file PDF tanpa membuatnya terlihat buram atau kabur.
Saya sadari dengan imagemagic yang terinstal saya dapat melakukan konversi sederhana seperti:
convert sample.png sample.pdf
Saya juga mencoba banyak sakelar untuk mengatur kedalaman, dan juga pengaturan kualitas:
convert -quality 100 sample.png sample.pdf
Namun PDF masih terlihat buram / kabur.
Berikut contoh gambar:
http://img406.imageshack.us/img406/6461/picture3mu.png
Sebagai png itu garing dan bersih. Ketika saya mengonversinya menjadi PDF, bahkan pada ukuran yang sama terlihat buram:
Gambar 4.png http://img803.imageshack.us/img803/9969/picture4at.png
Bagaimana saya bisa mengkonversi PNG ke PDF dalam kualitas tinggi?
\usepackage[pdftex, final]{graphicx}
dan\includegraphics[width=516px]{calendar.png}
, misalnya.Jawaban:
Coba gunakan
-density
opsi. Resolusi default adalah 72 titik per inci. Jadi cobalah sesuatu seperti-density 300
.Untuk referensi, lihat
-density
di dokumentasi opsi baris perintah ImageMagick.sumber
with density 300
dengan contoh gambar? Saya pikir hasilnya tergantung pada input. Utas baru tentang hal ini di sini unix.stackexchange.com/q/292025/16920Ini bisa sangat rumit untuk mendapatkan hasil pdf yang bagus
convert
. Cobaimg2pdf
saja. Dari readme:Untuk memperjelas: PDF dapat menyematkan gambar JPEG 2000 lossless (dan kebanyakan pembaca tampaknya mendukungnya ). Jadi konversi ini benar-benar tanpa kerugian:
(Dengan asumsi delegasi JP2 tersedia tentu saja: cek
identify -list format | grep JP2
.)sumber
convert sample.png -quality 0 sample.jp2; img2pdf -o sample.pdf sample.jp2
. (Dengan asumsi delegasi JP2 tersedia tentu saja: cekidentify -list format | grep JP2
.)convert
tiff dan kemudiantiff2pdf
.-quality 0
?-quality 100
?Saya hampir yakin bahwa apa yang Anda anggap sebagai kehilangan kualitas dalam PDF, hanyalah efek dari fitur anti- aliasing dari pemirsa PDF Anda .
Jika Anda menggunakan
evince
untuk melihat PDF, Anda dapat melihat fitur anti-aliasing secara otomatis dimatikan pada zoom tertentu (300% dalam tes cepat saya). Anda dapat melihatnya dengan jelas ketika Anda terus memperbesar - Anda akan melihat bahwa pada suatu titik, piksel tiba-tiba terlihat jelas. Itulah titik ketika anti-aliasing harus dimatikan untuk memungkinkan inspeksi gambar yang tepat.sumber
Brian Z di atas memberikan yang di bawah ini, yang merupakan cara yang benar, sepenuhnya dapat dibalik, dan tanpa kehilangan (dengan asumsi langkah konversi sebenarnya adalah tanpa kerugian, yang saya pikir itu atau paling tidak seharusnya) cara untuk memasukkan png ke dalam pdf. Anda diharuskan mengkonversi dari png ke lossless jp2 agar sesuai dengan struktur PDF / pembaca (saya pikir).
Namun perlu dicatat bahwa Anda dapat menyediakan file .png sendiri langsung ke img2pdf seperti:
Ini akan menghasilkan file pdf terkecil, dan akan memasukkan hex mentah png ke objek-objek di dalam pdf tanpa kehilangan *.
* Kekurangannya, apakah proses ini tidak reversibel tidak seperti menggunakan jp2. Data header / footer dan dan chunk header / footer telah dilucuti (yang sebenarnya membuat file lebih kecil!) Dari png yang dimasukkan hanya menyisakan data gambar mentah (metadata yang dihapus diintegrasikan ke dalam struktur pdf), mungkin untuk "meretas" pdf untuk menampilkan png mentah yang secara teknis tidak sesuai dengan wadah. Ini menampilkan baik-baik saja di firefox, dan mungkin menampilkan baik-baik saja di semua pembaca modern, tetapi jika png tidak sesuai dengan wadah maka pembaca yang ketat tidak dapat membuat data png mentah (karena mereka seharusnya tidak mengharapkannya / memprosesnya dengan benar).
Di sini Anda dapat menemukan skrip bash yang sangat mentah yang berhasil bagi saya untuk mengekstrak dan merekonstruksi file png dengan hash yang cocok dengan yang digunakan untuk input ke pdf. https://github.com/jack4455667788/RebuildRawPNGExtractedFromPDF
sumber
PDF adalah format vektor (yaitu, file berisi deskripsi garis untuk menggambar), sedangkan format lain (JPG, PNG) adalah format raster (file tersebut menjelaskan warna apa yang akan dicat setiap piksel). Jika Anda meledakkan PDF, itu masih berupa garis-garis tajam; JPG dan PNG menunjukkan pixelation.
(OK, OK, saya berbohong. PDF juga bisa menjadi raster).
sumber
Saya pikir untuk
-density
parameter png-ke-pdf harus kecil daripada besar. Anda dapat mencoba sesuatu seperticonvert -quality 100 -density 50
sumber