Saya mencari alat skrip offline yang membuat file PDF yang ada dapat dicari dengan menjalankan OCR di atasnya, mengganti file asli yang tidak dapat dicari dengan versi yang dapat dicari, dan dapat berjalan tanpa pengawasan.
Misalnya, www.pdfscannerapp.com - melakukan persis seperti yang saya butuhkan, tetapi hanya GUI - tidak dapat skrip.
Saya menyadari bahwa Evernote membuat file PDF dapat dicari, tetapi mereka hanya dapat dicari saat berada di dalam Evernote.
Saya tidak mencari OCR yang sempurna, bahkan OCR yang dapat diterima cukup baik, tetapi saya lebih suka utilitas kecil daripada paket perangkat lunak besar.
(Saya mengetahui pertanyaan serupa, namun berbeda tentang AD: Mencari Perangkat Lunak untuk dipindai atau Dikonversi ke PDF yang Dapat Ditelusuri dan Dapat Ditandatangani - namun, saya tidak perlu menandatangani atau mengisi PDF, dan persyaratan saya adalah bahwa solusinya dapat skrip)
EDIT:
1) Beberapa utilitas memungkinkan ekstraksi teks terstruktur, namun untuk diekstraksi, teks harus ada di sana; Saya terutama mengacu pada PDF yang dibungkus bitmap, seperti halnya dengan PDF biasa yang dihasilkan oleh scanner.
2) Saya belum tentu mencari solusi gratis, dan saya akan sangat senang membayar untuk utilitas yang baik yang hanya melakukan apa yang saya butuhkan, tetapi saya tidak mencari aplikasi besar dengan sejuta fitur yang mencakup fitur OCR tetapi yang biayanya tidak membenarkan membelinya hanya untuk fungsi OCR.
3) Seperti yang dinyatakan di atas, saya tidak mencari OCR yang sempurna, hanya OCR yang cukup dapat diterima. Sayangnya, dalam pengalaman saya, tesseract benar-benar di bawah ambang batas itu. Saya mendefinisikan "cukup diterima" OCR yang dapat, katakanlah, OCR tagihan utilitas sehingga setidaknya nomor akun (nomor pelanggan) dikenali dengan benar.
EDIT: "scriptable" atau "automatable", yaitu, dapat dipicu secara otomatis dan dijalankan tanpa pengawasan manusia apa pun.
Jawaban:
Tidak sepenuhnya jelas bagi saya apa persyaratan Anda untuk dapat "skrip" ini dari "baris perintah".
Jika Anda berbicara tentang otomatisasi, maka itu dimungkinkan dengan sejumlah utilitas.
ABBYY FineReader Express + Keyboard Maestro + Hazel
Saya menggunakan ABBYY FineReader Express + Keyboard Maestro + Hazel seperti:
Hazel memonitor folder yang diberikan untuk setiap PDF baru
jika PDF ditemukan, dibuka di "ABBYY FineReader Express"
Keyboard Maestro kemudian mengotomatiskan proses mengubah PDF menjadi PDF (OCR) yang dapat dicari dan menyimpan file ke direktori yang berbeda.
Sekarang, jika Anda belum memiliki Hazel dan Keyboard Maestro, biaya awal Anda akan naik cukup cepat (walaupun saya sangat bergantung pada keduanya, saya menganggapnya sebagai tawaran).
PDFPen + Tindakan AppleScript + Folder
Anda bisa melakukan sesuatu yang mirip dengan PDFPen (atau PDFPenPro) dan tindakan folder dan AppleScript. Lihat https://gist.github.com/prenagha/1355037 untuk satu contoh.
Marco Arment melakukan survei aplikasi OCR untuk Mac dan menemukan bahwa PDFPen memiliki hasil yang bagus dan mudah diotomatisasi.
Pencarian google untuk "PDFpen applescript OCR" akan menghasilkan sejumlah alternatif.
sumber
Yang Anda inginkan adalah Tesseract OCR. Ini adalah OCR open source yang dikelola oleh Google dan mendukung berbagai platform. Ini juga memiliki antarmuka baris perintah asli. Ini persis seperti yang Anda cari dan tersedia dari proyek port Mac dan juga homebrew .
Home Project: https://github.com/tesseract-ocr
Cara menginstal di OS X: http://blog.matt-swain.com/post/26419042500/installing-tesseract-ocr-on-mac-os-x-lion
Contoh Penggunaan:
tesseract -l eng input.pdf output
sumber
Penafian: BUKAN SOLUSI OCR (tapi jawaban ini masih berguna untuk mengekstrak teks dari pdf)
Ada proyek Yayasan Perangkat Lunak Apache bernama Apache Tika :
Mereka mendukung ekstraksi teks PDF menggunakan PDFBox :
Dan mereka baru-baru ini juga menambahkan dukungan untuk OCR (via Tesserac)
Untuk solusi berbasis teks, PDFBox sangat mudah untuk mengekstrak teks dari PDF:
pdfbox-app
paket dari https://pdfbox.apache.org/downloads.htmljalankan
ExtractText
perintah di atasnya:java -jar pdfbox-app-xyzjar ExtractText myNiceBook.pdf myNiceBook.txt
Ini juga memiliki beberapa opsi bagus lain yang dapat Anda lihat di dokumen ExtractText .
sumber
Saya akan merekomendasikan DEVONThink Pro Office . Ini adalah aplikasi yang sangat baik dan memiliki dukungan AppleScript yang sangat baik. Sayangnya hanya versi 'Pro Office' yang memiliki kemampuan OCR - jadi Anda harus mengeluarkan £ 100 ($ 150).
Akan berlebihan jika Anda hanya menggunakannya untuk skrip OCR - tetapi ini adalah aplikasi yang sangat bagus.
[sunting] - ah baru saja membaca kembali posting Anda - itu pasti akan berlebihan!
Jika Anda hanya ingin OCR dari shell, Anda dapat mencoba berbicara dengan ABBY yang mesinnya DEVON melisensikan:
http://www.abbyy-developers.com/en:tech:samples:commandline_ocr
sumber
Anda dapat membuat PDF yang ada dapat dicari dengan mengonversinya menjadi file teks. Anda memerlukan setidaknya Imagemagick , Ghostscript (untuk konversi PDF) dan alat Tesseract OCR.
Beberapa contoh baris perintah:
Ini dapat diperpanjang lebih lanjut dengan kebutuhan Anda.
Untuk menginstal alat yang diperlukan, pada OSX Anda dapat menginstalnya melalui Homebrew :
Di Linux gunakan
apt-get
atauyum
bukanbrew
.Untuk alat OCR lainnya, periksa: OCR di sistem Linux
Terkait:
sumber
Solusi yang mudah diimplementasikan dan memberikan output pdf dengan kualitas yang sama dari file input plus ukuran yang masuk akal adalah OCRmyPDF:
https://github.com/jbarlow83/OCRmyPDF
sumber
Stackoverflow memiliki pertanyaan terkait dalam parsing PDF yang mencakup hal-hal seperti PDFBox dan TIKA Apache yang digunakan PDFBox. Kode ruby di bawah ini mengekstrak tulisan dari PDF. Anda harus memiliki resolusi yang cukup baik agar kode jenis ini dapat bekerja dengan baik. Jadi, dapatkan pemindai yang cukup bagus dengan resolusi besar dan kemudian lihat apakah beberapa perangkat lunak berfungsi.
Contohnya
Jadi utas
/programming/5217783/pdf-parse-to-text-in-java
/programming/8149179/alternative-to-tika-pdfbox-for-parsing-pdf-in-solr-any-version-later-than-1-4
/programming/320621/ruby-pdf-parsing-gem-library
/programming/15186740/haskell-parsing-reading-content-of-pdf-files
[Sunting]
Saya tidak yakin apakah saya mengerti masalah Anda sekarang. Anda ingin menambahkan lapisan OCR ke berbagai jenis bahan seperti foto acak, tangkapan layar, PDF tanpa lapisan OCR dan sebagainya? Saya tidak tahu solusinya tetapi saya yakin ada yang tahu, jadi saya mengajukan pertanyaan spesifik bagaimana melakukannya dengan Automator dan beberapa perangkat lunak OCR:
Automator-script dengan perangkat lunak OCR untuk secara otomatis menambahkan OCR ke materi?
sumber
Untuk aplikasi mandiri ini, saya penggemar Hazel.
Itu membuatnya sangat mudah untuk skrip tindakan tanpa perlu mempelajari alat yang lebih berorientasi pada baris perintah seperti perl atau python dan dipasangkan dengan mesin OCR pilihan Anda (milik saya saat ini PDF Pen Pro) Anda seharusnya tidak memiliki masalah dalam memproses file Anda dengan minimal kehebohan.
Keduanya adalah perangkat lunak berbayar, tetapi utilitas keduanya jauh melampaui kasus yang satu ini. Dalam situasi saya, dengan tenaga kerja yang terlibat dalam mendigitalkan catatan scan saya di masa lalu (dan kertas yang sedang berlangsung), harga ini jauh melebihi waktu saya akan menghabiskan pemrograman ini di tempat lain dan sekarang saya memiliki kedua alat, saya dapat melakukan banyak tugas lain dengan mereka.
sumber
PDFScannerApp memang memiliki dukungan skrip tidak resmi. Hubungi penulis untuk tindakan Automator.
sumber
Saya menggunakan Adobe acrobat ke OCR dalam batch. Duplex scanner saya dapat OCR setelah pemindaian tetapi teknologi OCR di acrobat lebih akurat menurut saya. Saya hanya menunjuk ke sana folder yang tidak memiliki OCR kemudian acrobat menyimpan kembali PDF sebagai PDF yang dapat dicari sekarang termasuk layer teks. Jika saya ingin OCR melalui baris perintah, saya tidak tahu cara tetapi saya bisa mengotomatiskan akhir GUI dengan menggunakan Autohotkey. Tidak dapat diandalkan atau secepat baris perintah, tetapi berhasil setelah Anda menyiapkan tindakan alur kerja untuk meminimalkan interaksi GUI.
Untuk Mac, skrip apel melakukan apa yang Autohotkey lakukan pada PC meskipun saya belum mencoba pada Mac saya.
Tombol pintas otomatis dilengkapi dengan perekam sehingga sebagian besar penulisan skrip adalah makan malam untuk Anda dengan sedikit pengeditan untuk penyempurnaan dan mungkin pengulangan jika Anda menginginkannya.
Saya telah bereksperimen dengan gambar OCRing tetapi belum mengotomatiskan proses sepenuhnya melalui acrobat. Baris perintah sangat ideal tetapi belum menemukan mesin OCR berkualitas yang melebihi acrobat jadi saya tetap menggunakan acrobat untuk saat ini.
sumber
Saya menemukan ini baru-baru ini: http://ocrkit.com/faq.html
Anda harus membayar setelah 14 hari
sumber
Saya mendapat konversi Drag & Drop berkualitas tinggi yang bekerja menggunakan Docker.
Jika kamu:
"as arguments"
/bin/bash
teks skrip:Maka Anda harus baik untuk drag-and-drop PDF ke dalamnya dan dan Anda akan mendapatkan PDF dengan nama yang sama dengan "-ocr" yang ditambahkan ke nama file.
Saya membayangkan itu dapat dengan mudah dimodifikasi untuk mengembalikan file ke Automator untuk menyalin di suatu tempat juga. Lebih detail tentang paket buruh pelabuhan OCRmyPDF yang bagus. dan alat utama (juga disebutkan dalam jawaban yang berbeda).
Anda dapat mengujinya di Automator sendiri dengan tindakan "Dapatkan item Pencari yang ditentukan" sebagai masukan untuk ini.
Saat pertama kali dijalankan, diperlukan lebih banyak waktu karena perlu mengunduh gambar Docker untuk OCRmyPDF (tanpa terlihat). Di Terminal, Anda dapat menjalankan sebagai alternatif
docker pull jbarlow83/ocrmypdf
untuk mempercepat proses pertama. Jalankan khas membutuhkan sekitar 10 detik per halaman DPI tinggi tetapi memiliki hasil text-to-speachable secara otomatis bahkan jika ada tabel atau diagram. Sebelum OCRing, saya memotong menggunakan Sejda sehingga kata-kata margin yang tidak masuk akal dari halaman lain dihapus.The
--force-ocr
Argumen memberitahu alat untuk mengabaikan dan menimpa sebelumnya OCR upaya, yang dalam kasus saya biasanya hanya parsial dan tidak berguna.sumber
OCRKit memiliki dukungan AppleScript dan CLI. Dari halaman bantuan mereka :
sumber