Bagaimana saya bisa memotong dan memotong PDF yang dibuat dari halaman yang dipindai * secara otomatis *? [duplikat]

13

Kemungkinan Gandakan:
Perangkat lunak gratis mana yang dapat saya gunakan untuk memperbaiki gambar yang dipindai

Saya memiliki beberapa PDF yang terdiri dari pemindaian halaman buku. Pemindaian dibuat dari dua halaman sekaligus dan beberapa pemindaian miring, membuat teks tampak sedikit miring.

Saya mencari alat yang memungkinkan saya melakukan optimasi otomatis dengan memindai hasil scan tanpa kehilangan keterbacaan. Saya telah menemukan perangkat lunak GPL Briss untuk memotong pindaian agar memiliki rasio 1: 1 halaman, bukannya 2: 1, tapi saya tidak punya alat apa pun untuk memperbaiki halaman.

Saya menemukan unpaper , alat open source lain yang tampaknya sempurna untuk apa yang ingin saya lakukan, tetapi alat itu hanya Linux dan tidak bekerja pada file PDF secara langsung.

Setiap petunjuk dihargai.

Pietro M.
sumber
1
@random: Mengapa pertanyaan ini ditutup ?? Mengapa topik ini meminta 'debat, argumen, polling, atau diskusi panjang'?!?
Kurt Pfeifle
1
"mencari alat" cukup banyak polling untuk layanan mengarah ke alasan dekat tidak konstruktif @ur
acak
1
@random: Pertanyaan ini mengarahkan saya untuk melakukan riset tentang topik tersebut, dan saya menemukan beberapa opsi menarik untuk dibujuk. Yang paling menarik adalah menggunakan ImageMagick untuk ini, dan tampaknya sangat sederhana. Sayangnya penutupan ini tidak memungkinkan saya untuk mengirim jawaban saya.
Kurt Pfeifle
@random: Sekarang saya sedikit mengedit pertanyaan. Semoga itu sekarang lebih sesuai dengan rasa 'konstruktif' Anda.
Kurt Pfeifle
@random: Oke, 'menutup sebagai duplikat' lebih dapat diterima oleh saya dalam kasus ini.
Kurt Pfeifle

Jawaban:

9

Lihatlah deskew . Ini adalah alat commandline. Zip * unduhan tampaknya menyertakan binari untuk Windows, MacOSX dan Linux.

Lisensi adalah MPL (Mozilla) atau LPGL (GNU), apa pun yang Anda inginkan.

Satu-satunya kelemahan bagi Anda tampaknya adalah tidak mengkonsumsi PDF, hanya gambar PNG dan TIFF (AFAICS). Itu berarti Anda harus mengatur alur kerja s.th. Suka:

 PDF.orig -> PNG.orig -> PNG.deskewed -> PDF.deskewed

Saya belum mengujinya sendiri, saya baru saja menemukan situs web dan menandainya.

Kurt Pfeifle
sumber
deskewmemang berhasil memperbaiki distorsi terkait rotasi dalam uji coba saya tapi sayangnya itu memperkenalkan garis abu-abu tipis pada posisi batas gambar asli. Untuk menghilangkan batas abu-abu saya memotong gambar dengan -extentopsi mogrify. Saya hanya menguji pada OS X, mungkin perilaku ini adalah platform-spesifik.
Stefan Schmidt
deskewbekerja dengan sangat baik. Alur kerja saya seperti ini: pdfimages -all <pdf> my_imagesjbig2 -s -p -v my_images* > outputpdf.py output > deskewed.pdfJika perbatasan hitam (hasil operasi deskewing) mengganggu Anda, beberapa pemrosesan dengan imagemagick mungkin diperlukan, seperti yang disarankan oleh @StefanSchmidt
Mr. Tao
5

Oh, izinkan saya menambahkan jawaban lain. Saya baru ingat netpbm . Sudah bertahun-tahun tidak menggunakannya, tapi saya pikir saya harus melihat lagi ...

netpbm adalah toolkit yang sangat kuat untuk commandline untuk memanipulasi gambar grafik. Ini mengirim hampir 300 alat terpisah. Ini termasuk konverter untuk sekitar 100 format grafik.

Dan itu juga memiliki alat commandline yang dapat memutar gambar:

pnmrotate

Dan memiliki alat lain yang mencoba menemukan sudut gambar yang diputar:

pamtilt

pamtiltmengembalikan angka mengambang dari tebakan rotasi gambar. Jadi pencabutan gambar secara otomatis harus dalam jangkauan. Script shell dapat ditulis untuk melakukan itu. Dibutuhkan langkah-langkah berbeda:

  1. Konversi halaman PDF ke format gambar yang sesuai dengan netpbm dengan bantuan Ghostscript.
  2. Gunakan pamtiltuntuk menemukan secara otomatis sudut kemiringan gambar.
  3. Gunakan pnmrotateuntuk menghapus gambar.
  4. Konversi ulang gambar ke PDF.

Jika Anda memberi saya akses ke sampel kecil file PDF Anda, saya bisa mencoba dan membuat skrip shell untuk menyelesaikannya.


(Saya sangat ingin tahu bahwa [netpbm] tidak melihat untuk memiliki tag di superuser + stackoverflow di sini.)

Kurt Pfeifle
sumber