2009-04-22 11 views
5

Có ai đã cố trích xuất văn bản từ PDF bằng thư viện OCR và Java không? Bạn đã tìm thấy thư viện nào đáng tin cậy nhất để trích xuất văn bản. Hầu hết các phương pháp tiếp cận mà tôi đã thấy (tesseract, GOCR) là các thư viện C sẽ yêu cầu một số mã JNI được viết.Phương pháp trích xuất văn bản PDF Sử dụng OCR

Tôi đã quen thuộc với pdfbox, hiện giờ là dự án lồng ấp Apache ở phiên bản 0.8.x, nhưng việc trích xuất văn bản không phải lúc nào cũng chính xác. Tôi đang tìm một phương pháp thay thế có phần đáng tin cậy hơn.

Tôi chưa thử Asprise JavaPDF, trong quá trình thử điều đó, nhưng muốn biết thêm về phương pháp OCR (nếu có thể).

Mọi trợ giúp sẽ được đánh giá cao.

+0

Bạn đang sử dụng PDF có cấu trúc? Nếu bạn có khả năng trong JAVA lấy văn bản từ siêu dữ liệu PDF. – northpole

+1

Không, không phải tất cả các tệp PDF đều được cấu trúc. – Jon

Trả lời

1

Nếu bạn muốn trích xuất OCR từ PDF dựa trên văn bản, bạn có thể phải chuyển đổi nó thành hình ảnh trước tiên.

7

Nếu bạn có PDF dựa trên văn bản, tôi thực sự khuyên bạn nên PDFTextStream. Nó không phải là miễn phí, nhưng cấp phép là hợp lý, và nó là tốt hơn nhiều so với PDFBox. PDFBox chokes trên nhiều tệp PDF được tạo bởi các công cụ mới hơn và không quá nhất quán về các tệp PDF mà tệp có thể xử lý. PDFTextStream xử lý bất kỳ tệp PDF nào tôi ném vào nó, bao gồm các tệp PDF có hình ảnh PNG được nhúng, mà PDFBox không thể thực hiện được.

Nếu bạn heckle các thành viên PDFTextStream để thêm OCR, họ có thể nghe.

+0

Cảm ơn, âm thanh tốt, đáng tiếc về giá mặc dù ... – Jon

+1

Một vài năm sau đó, nhưng bây giờ PDFTextStream có một phiên bản miễn phí (với một nắp 1 Tread) –

+0

Nếu PDF đã được dựa trên văn bản, tại sao thảo luận OCR? Chỉ cần sử dụng PDFBox, iText, PDFTextStream hoặc bất kỳ thứ gì để phân tích văn bản. OCR là thời gian khi PDF là hình ảnh, nói từ máy quét. Nếu PDF là hình ảnh được quét, không phải PDFBox, iText và PDFTextStream đều sẽ giúp bạn. – mmcrae

1

Bạn có thể sử dụng trình bao bọc Java của Tesseract - tesjeract hoặc Tess4J - để thực hiện OCR. Tuy nhiên, đối với PDF, bạn sẽ cần phải chuyển đổi thành hình ảnh (PNG hoặc TIFF) trước khi đưa nó vào công cụ OCR.

VietOCR cuộc gọi Tesseract thực thi để thực hiện trích xuất văn bản. Nó sử dụng GhostScript để chuyển đổi PDF sang hình ảnh.

2

Chúng tôi sử dụng ABBYY FineReader Engine 11. Họ có trình bao bọc java.

Ưu điểm:

  • Nó hoạt động tốt với tất cả các ngôn ngữ (tiếng Anh, tiếng Nga, Uzbek vv) và làm thực OCR (thậm chí nếu bạn có pdf mà không OCR họ thực hiện render lúc đầu và OCR).

Nhược điểm:

  • Nó chi phí. Bạn phải mua giấy phép nhà phát triển và giấy phép người dùng cuối.

  • Và cực kỳ chậm.

+0

Cảm ơn bạn đã trả lời và trung thực của bạn về sản phẩm. Trong một vài năm, các câu hỏi yêu cầu giới thiệu các công cụ là không có chủ đề và trả lời chúng được coi là 'không được thực hiện'. (trên thực tế, câu hỏi sẽ bị xóa nếu nó không còn sử dụng nữa) –