2009-04-22 3 views
5

누구나 OCR 라이브러리와 Java를 사용하여 PDF에서 텍스트를 추출하려고 했습니까? 텍스트 추출을 위해 가장 신뢰할만한 라이브러리는 무엇입니까? 필자가 보았던 대부분의 접근법 (tesseract, GOCR)은 C 라이브러리로, 일부 JNI 코드가 작성되어야합니다.PDF OCR을 사용한 텍스트 추출 접근법

저는 현재 버전 0.8.x에서 Apache 인큐베이터 프로젝트 인 pdfbox에 익숙하지만 텍스트 추출이 항상 정확한 것은 아닙니다. 좀 더 신뢰할 수있는 대체 접근법을 찾고 있습니다.

아직까지도 Asprise JavaPDF를 시도하지는 않았지만 시도 중 이었지만 가능하면 OCR 접근 방식에 대해 더 알고 싶었습니다.

도움을 주시면 감사하겠습니다.

+0

구조화 된 PDF를 사용하고 있습니까? 만약 당신이 자바에서 PDF 메타 데이터의 텍스트를 잡아 능력을 가지고. – northpole

+1

아니요, 일부 PDF가 구조화되어 있지 않습니다. – Jon

답변

1

텍스트 기반 PDF에서 OCR을 추출하려면 먼저 이미지로 변환해야 할 수 있습니다.

7

텍스트 기반 PDF가있는 경우 PDFTextStream을 강력히 추천합니다. 무료는 아니지만 라이선스가 합리적이며 PDFBox보다 훨씬 낫습니다. PDFBox는 새로운 도구로 생성되는 많은 PDF 파일을 질식 시키며 처리 할 수있는 PDF에 대해서는 일관성이 없습니다. PDFTextStream은 PDFBox가 수행 할 수없는 PNG 이미지가 포함 된 PDF를 포함하여 모든 PDF를 처리합니다.

OCR을 추가하기 위해 PDFTextStream 사람들을 들으면, 그들은들을 수 있습니다.

+0

감사합니다. 비록 가격에 대해 좋은 생각이 들지만 ... – Jon

+1

몇 년 후, 그러나 이제 PDFTextStream에 무료 버전 (1 트레드 캡 포함)이 있습니다. –

+0

PDF가 이미 텍스트 기반 인 경우 왜 OCR에 대해 논의합니까? PDFBox, iText, PDFTextStream 등을 사용하여 텍스트를 구문 분석하십시오. OCR은 PDF가 이미지 인 경우, 예를 들어 스캐너에서 보내는 경우입니다. PDF가 스캔 한 이미지 인 경우 PDFBox, iText 또는 PDFTextStream도 도움이되지 않습니다. – mmcrae

1

Tesseract-tesjeract 또는 Tess4J의 Java 래퍼를 사용하여 OCR을 수행 할 수 있습니다. 그러나 PDF의 경우 이미지를 OCR 엔진에 보내기 전에 먼저 이미지 (PNG 또는 TIFF)로 변환해야합니다.

VietOCR은 텍스트 추출을 수행하기위한 Tesseract 실행 파일을 호출합니다. GhostScript를 사용하여 PDF에서 이미지로 변환합니다.

2

우리는 ABBYY FineReader Engine 11을 사용합니다. 이들은 Java 래퍼를 사용합니다.

장점 :

  • 그것은 모든 언어 (영어, 러시아어, 우즈베크어 등) (당신은 그들이 제 OCR 처리에 렌더링을 실시합니다 OCR없이 PDF 파일을 경우에도) 실제 OCR을 수행과 함께 좋은 작품.

단점 :

  • 그것은 비용이 든다. 개발자 라이센스 및 최종 사용자 라이센스를 구매해야합니다.

  • 매우 느립니다.

+0

제품에 대한 답변과 정직에 감사드립니다. 몇 년 동안 도구 추천을 요청하는 질문은 주제와 관련이 없으며 대답은 '완료되지 않은'것으로 간주됩니다. (실제로 더 이상 사용하지 않으면 질문을 삭제해야합니다) –