PDF에 OCR 정보 추가


28

문서의 스캔 품질이 좋습니다. 이러한 스캔은 pdf 형식입니다.

PDF에 ocr 정보를 추가하여 검색 가능하게하려면 어떻게해야합니까? 검색 가능하다는 것은 elect로 pdf를 볼 때 CTRL-F가 실제로 pdf 컨텐츠를 검색 할 수 있도록하는 것입니다.



4
@Jakob, 나는 그것이 속임수라고 생각하지 않습니다. 우리는 다른 것을 요구하고 있습니다. 다른 질문은 일부 pdf에서 텍스트를 추출하는 것입니다 (즉, 해당 txt 파일 생성). 내 질문은 ocr 정보를 추가하고 pdf 판독기에서 검색 기능을 작동시키기 위해 pdf를 수정하는 것입니다. 나는 질문을 명확히 할 것이다.
fdierre

문서를 스캔하는 방법과 방법은 무엇입니까?
Mitch

@Mitch 나는 매우 훌륭한 문서 공급기가있는 내 사무실 Ricoh Aficio MP-C2500 프린터 / 복사기 / 스캐너를 사용했습니다. :-)
fdierre

스캔 및 / 또는 OCR 소프트웨어?
Mitch

답변:


21

pdfsandwich

원하는 것을하고 우분투 deb 패키지를 제공합니다. tesseract를 OCR 엔진으로 사용합니다. 다음 호출은 스캔 한 PDF에 텍스트 레이어를 추가합니다.

pdfsandwich scanned.pdf

다음은 동일하지만 다른 언어 (ISO 639-2 코드, 다운로드 tesseract-ocr-LANGCODE패키지)로 레이아웃을 설정합니다.

pdfsandwich  -verbose -lang spa -layout single scanned.pdf

오류가 발생하면 Sourceforge에서 최신 버전 deb다운로드 하십시오 .

면책 조항 : 나는 pdfsandwich의 개발자이므로 분명히 편견입니다.


6
정말 대단합니다. 감사합니다. 그러나 이미지를 수정하는 것처럼 보이며 이미지 또는 그 위에 언샵 마스크를 실행하는 것처럼 보입니다. 이전과 동일하게 이미지를 남길 수있는 방법이 있습니까? 필자의 특정한 경우에, 필터는 심지어 일부 방정식에서 몇 개의 분수에서 막대를 제거 할 수있었습니다. 다른 모든 것들은 잘 작동하지만 ...
naught101

불량 품질 패키지 :`/tmp/pdfsandwich_0.1.3_amd64.deb에 대한 린 티안 검사 결과 : E : pdfsandwich : 제어 파일에 불량이 있음 md5sums 0664! = 0644 E : pdfsandwich : 제어 파일에 불량 소유자가 있음 md5sums james / james! = 루트 / 루트 E : pdfsandwich : 잘못된 파일 소유자 -uid-or-gid usr / 1000/1000 E : pdfsandwich : 잘못된 파일 소유자 -uid-or-gid usr / bin / 1000 / 1000 E : pdfsandwich : 잘못된 파일 소유자 uid 또는 gid usr / bin / pdfsandwich ...
AB

SF에서 최신 버전 deb를 다운로드하십시오 . 마지막에 오류가 발생하면 고스트 스크립트 (v0.1.4)와 관련이있을 수 있습니다. 이제 v0.1.6은을 사용합니다 pdfunite.
Pablo A

1
@PabloBianchi OCR 텍스트를 사용하여 수동 교정하는 방법이 pdfsandwitch있습니까? 스웨덴어 문서 로이 작업을 수행하고 있으며 텍스트 파일 인 경우 수정하기 쉬운 맞춤법 오류 (원본 글꼴 때문일 수 있음)를 제외하고는 잘 작동하지만 결과 PDF에서 어떻게 할 수 있습니까? ?
zrajm 2016 년

@zrajm OCR 단계에서 더 나은 인식을 위해 pdfsandwich 매개 변수 중 일부를 사용할 수 있습니다 . PDF 이미지 뒤에 숨겨진 텍스트를 편집하려면 LibreOffice Draw, Inkscape 또는 PDF 편집 도구를 사용 하여 텍스트 상자 레이어를 편집하면됩니다. 더 좋은 방법을 찾으면 여기에 게시하십시오. DaH jImej!
Pablo A


4

비 이상적인 해결책을 찾았지만 매우 효과적인 해결책을 찾았습니다.

내가 사용하는 PDF X-변경 뷰어 와인을 통해. 기존 이미지 기반 pdf에 텍스트 레이어를 추가하는 OCR 기능이 있습니다.

따라서이 보이지 않는 레이어에서 텍스트를 검색하고 복사 할 수 있습니다.

여기에 이미지 설명을 입력하십시오


2

명령 행 솔루션의 경우 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

우분투 12.04 LTS에서 저에게 효과적이었습니다.


6
여기 Github에서 : github.com/gkovacs/pdfocr . 그러나 이것은 pdfsandwich고해상도 이미지가 포함 된 PDF를 수정 / 압축하여 기본적으로 원래 이미지 정보 중 일부를 파괴하기 때문에 와 같은 문제가 있습니다.
jmiserez

2

쉽게 구현할 수 있고 동일한 품질의 입력 파일과 합리적인 크기의 출력 PDF를 제공하는 솔루션은 OCRmyPDF입니다.

https://github.com/jbarlow83/OCRmyPDF


나는 당신의 대본으로 훌륭한 결과를 얻었습니다. Geza Kovacs의 pdfocr과는 달리, 추가 (일부 Linux 배포판에서 컴파일하기 어렵다!) 라이브러리가 필요하지 않습니다. 고맙습니다!
Maxim

0

이것은 내 신속하고 더러운 ImageMagick이의에 기반 솔루션입니다 convert, tesseract, parallelpdftk(데비안 기반 배포판에서 사용할 수있는 모든). 이 블로그 게시물을 기반으로 합니다 .

#!/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

0

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"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.