ฉันมีสแกนเอกสารที่มีคุณภาพดี การสแกนดังกล่าวอยู่ในรูปแบบ pdf
ฉันจะเพิ่มข้อมูล ocr ใน pdf ได้อย่างไรเพื่อให้สามารถค้นหาได้ โดยการค้นหาได้ฉันหมายความว่าเป้าหมายคือเมื่อดู pdf ด้วย evince CTRL-F จริง ๆ แล้วทำให้ฉันสามารถค้นหาในเนื้อหา pdf ได้
ฉันมีสแกนเอกสารที่มีคุณภาพดี การสแกนดังกล่าวอยู่ในรูปแบบ pdf
ฉันจะเพิ่มข้อมูล ocr ใน pdf ได้อย่างไรเพื่อให้สามารถค้นหาได้ โดยการค้นหาได้ฉันหมายความว่าเป้าหมายคือเมื่อดู pdf ด้วย evince CTRL-F จริง ๆ แล้วทำให้ฉันสามารถค้นหาในเนื้อหา pdf ได้
คำตอบ:
ทำในสิ่งที่คุณต้องการและมอบแพ็คเกจ deb ของ Ubuntu มันใช้ tesseract เป็นเครื่องมือ OCR การโทรต่อไปนี้เพิ่มเลเยอร์ข้อความใน PDF ที่สแกนของคุณ:
pdfsandwich scanned.pdf
ต่อไปนี้ไม่เหมือนกัน แต่มีภาษาอื่น (รหัส ISO 639-2, tesseract-ocr-LANGCODE
แพ็คเกจดาวน์โหลด) และการตั้งค่าเค้าโครง:
pdfsandwich -verbose -lang spa -layout single scanned.pdf
ถ้าคุณได้รับข้อผิดพลาดใด ๆ โปรดดาวน์โหลดรุ่นล่าสุด deb จาก Sourceforge
คำเตือน:ฉันเป็นผู้พัฒนาของ pdfsandwich และจึงลำเอียงอย่างเห็นได้ชัด
pdfunite
ตอนนี้ใช้ v0.1.6
pdfsandwitch
? ฉันทำสิ่งนี้กับเอกสารภาษาสวีเดนบางส่วนและใช้งานได้ดียกเว้นการสะกดผิด (อาจเป็นเพราะแบบอักษรของต้นฉบับ) ซึ่งจะง่ายต่อการแก้ไขหากเป็นไฟล์ข้อความ แต่ฉันจะทำสิ่งนี้ใน PDF ที่เป็นผลลัพธ์ได้อย่างไร ?
ฉันพบทางออกที่ไม่เหมาะ แต่เป็นวิธีที่มีประสิทธิภาพมาก
ฉันใช้PDF X-Change Viewerผ่านทางไวน์ มันมีคุณสมบัติ OCR ซึ่งจะเพิ่มเลเยอร์ข้อความให้กับไฟล์ PDF ที่ใช้ภาพที่มีอยู่
ดังนั้นคุณสามารถค้นหาและคัดลอกข้อความจากเลเยอร์ที่มองไม่เห็นนี้
สำหรับการแก้ปัญหาบรรทัดคำสั่งคุณสามารถใช้pdfocr
โดยสรุปให้ติดตั้งซอฟต์แวร์:
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:gezakovacs/pdfocr
$ sudo apt-get update
$ sudo apt-get install pdfocr
จากนั้นเรียกใช้ pdfocr:
$ pdfocr -i scanned.pdf -o scanned.with.search.pdf
ที่ทำงานสำหรับฉันใน Ubuntu 12.04 LTS
pdfsandwich
กับที่มันแก้ไข / บีบอัดไฟล์ PDF ที่มีภาพความละเอียดสูงโดยทั่วไปจะทำลายข้อมูลภาพต้นฉบับบางส่วน
โซลูชันที่สามารถนำไปใช้งานได้อย่างง่ายดายและให้ไฟล์ PDF เอาต์พุตที่มีคุณภาพเดียวกันกับไฟล์อินพุตพร้อมขนาดที่เหมาะสมคือ OCRmyPDF:
นี่คืออย่างรวดเร็วของฉันและวิธีการแก้ปัญหาสกปรกบนพื้นฐาน ImageMagick ของconvert
, tesseract
, parallel
และpdftk
(ทั้งหมดที่มีอยู่ในการกระจาย Debian-based) ส่วนใหญ่จะขึ้นอยู่กับโพสต์บล็อกนี้
#!/bin/sh -ex
density=${2:-"300"} # default to 300 DPI if 2nd parameter is not given
convert -monitor -density "$density" "$1" -monochrome -compress lzw -alpha deactivate page_%05d.tif
parallel --bar "tesseract {} {.} pdf 2>/dev/null" ::: page_*.tif
pdftk page_*.pdf cat output "${1%.*}-ocred.pdf" compress
# Cleanup temp files
rm page_?????.tif page_?????.pdf
สำหรับไดเรกทอรีทั้งหมดที่มีไฟล์ ppm คุณสามารถใช้สคริปต์นี้ ppm2ocrpdf.sh
#!/bin/sh
mkdir .pdf
for f in *.ppm; do
echo " Running convert -compress JPEG -quality 88 "$f" -page a4 "$f"ppm.pdf"
convert -compress JPEG -quality 88 "$f" -page a4 "$f"ppm.pdf
echo " Running tesseract -l deu "$f" "$f" pdf"
tesseract -l deu "$f" "$f" pdf
echo " Running pdftk "$f".pdf cat output ./.pdf/"$f"ocr.pdf"
pdftk "$f".pdf cat output ./.pdf/"$f"ocr.pdf
echo " Running rm "$f"ppm.pdf"
rm "$f"ppm.pdf
echo " Running rm "$f".pdf"
rm "$f".pdf
done
echo " Running pdftk *.pdf cat output ../outdocument.pdf"
pdftk ./.pdf/*.pdf cat output outOcrDocument.pdf
echo " Running rm ./.pdf/*.pdf"
rm ./.pdf/*.pdf
echo " Running rmdir .pdf"
rmdir .pdf
echo "Done"