2012-04-17 28 views
5

tôi phải trích xuất văn bản từ hóa đơn và hóa đơn file pdfRule khai thác dựa PDF văn bản cho các hóa đơn verious và hoá đơn

Các tập tin bố trí có thể trở nên phức tạp, mặc dù nó chủ yếu là đầy bảng.

Tôi đã đọc một vài bài báo về định dạng pdf, bộ não của chúng ta dễ dàng nắm bắt nó như thế nào và làm thế nào để máy hiểu được cấu trúc của nó. Cũng đã tải xuống một vài công cụ như pdfminer của python và một số công cụ java, một số thậm chí có trích xuất bố cục dựa trên quy tắc, như LA-PDBtext đây là tất cả các thư viện tuyệt vời, để lại cho bạn bước cuối cùng.

Adobe cũng có một dịch vụ trực tuyến được gọi exportPdf nhưng nó không thể được tùy chỉnh

Bottom line, tôi hiểu rằng để trích xuất văn bản từ các tập tin pdf có cấu trúc và chuyển nó sang XML ví dụ, cần có một số mức độ công việc thủ công.

Tôi cũng tìm thấy From Data Extractor, một công cụ miễn phí với khả năng đặt quy tắc trích xuất xác nhận quyền sở hữu, mặc dù khó tìm thấy sổ tay phù hợp và chỉ chạy trên cửa sổ.

Tôi nghĩ tôi thậm chí có thể thử chuyển đổi các tệp đó thành hình ảnh và thử tesseract-ocr nhưng đã quyết định yêu cầu tư vấn tại đây trước khi tôi dành nhiều thời gian hơn cho nó.

Tôi sẽ rất biết ơn nếu ai đó có trải nghiệm như vậy cho tôi gợi ý.

+0

Trừ khi các tệp PDF này tuân thủ PDF/A-1a, bạn đang ở trong rất nhiều công việc - về cơ bản bạn sẽ phải làm OCR. PDF không phải là định dạng đúng cho điều này; cố gắng lấy các hóa đơn và hóa đơn dưới dạng XML có cấu trúc đúng hoặc thay vì EDIFACT. –

+0

Xin chào, tôi biết đây là một bài đăng cũ, nhưng hãy thử Tabula https://github.com/jazzido/tabula-extractor – blaze

Trả lời

7

Tôi đã thực hiện rất nhiều trích xuất PDF và tôi có thể xác nhận là bạn đã phát hiện ra rằng đó có thể là một quá trình đau đớn để bắt đầu. Một trong những điều quan trọng cần hiểu là không có khái niệm về "các bảng" trong một tệp PDF, chỉ là văn bản có các dòng xung quanh nó. Ngoài ra, không đảm bảo rằng thứ tự tuyến tính của văn bản trong mã PDF thực sự khớp với thứ tự hình ảnh khi được in. Nói cách khác, không có gì đảm bảo rằng "hello world" được viết theo thứ tự đó, nó có thể là draw 'word' at coord 20 then draw 'hello' at coord 10. Hầu hết người tạo PDF không làm điều này nhưng vẫn không có bảo đảm. Người sáng tạo PDF sáng tạo hơn (InDesign, Illustrator, v.v.) càng có nhiều khả năng văn bản sẽ khó thoát ra hơn. Và trên thực tế, một khi một nhà thiết kế bắt đầu rối tung với phông chữ quá nhiều chương trình đôi khi sẽ thực sự xuất ra từ một ký tự cùng một lúc, thay đổi phông chữ một chút mỗi lần.

Điều đó nói rằng, tôi muốn giới thiệu mẫu đầu tiên bạn xem, LA-PDFText. Bạn có thể chạy nó trong discovery mode (chặn) từ đó bạn có thể tạo quy tắc. Tôi không có Java cài đặt nữa vì vậy tôi không thể kiểm tra nó nhưng nó có vẻ rất hứa hẹn.

Trình thứ hai, Trình tạo dữ liệu biểu mẫu A-PDF, chỉ thực sự hoạt động với các biểu mẫu PDF thực tế. Nếu đây là trường hợp của bạn tôi khuyên bạn nên chỉ sử dụng một giải pháp mã nguồn mở như iText/iTextSharp.

OCR cuối cùng làm cho tôi bị rạn nứt. Tôi chỉ không thể tưởng tượng đi qua những hoops sẽ giúp bạn có được văn bản đại diện tốt hơn so với phân tích cú pháp PDF. Nhưng sau đó một lần nữa, PDF là một định dạng hình ảnh nên có lẽ nó sẽ.

Cá nhân tôi sử dụng iText/iTextSharp cho loại điều này nhưng tôi cũng muốn làm những việc khó khăn.

3

Không rõ liệu bạn đang tìm kiếm công cụ phát triển để tự động trích xuất dữ liệu từ hóa đơn và hóa đơn hay chỉ cho công cụ một lần (tiện ích) có thể được sử dụng bởi nhà phát triển không?

Dù sao đây là một số công cụ chuyên dụng bao gồm cả động cơ họ sử dụng:

  1. Tabula (mã nguồn mở, đặc biệt thiết kế để trích xuất dữ liệu từ các bảng trong PDF có thể xuất khẩu kịch bản shell cho xử lý hàng loạt, chạy như web localhost. dịch vụ, cung cấp bởi JRuby Tabula engine)
  2. Viet OCR (mã nguồn mở tiện ích .NET máy tính để bàn cho khai thác văn bản từ PDF và hình ảnh, dựa trên tesseract oct engine)
  3. Bytescout PDF Viewer (phần mềm miễn phí khép kín tiện ích .NET nguồn, phát hiện và extrac bảng ts, bao gồm hóa đơn được quét, được hỗ trợ bởi PDF Extractor SDK)

KHUYẾN CÁO: Tôi làm việc cho ByteScout.

Các vấn đề liên quan