2010-09-06 53 views

Trả lời

6

Bạn có thể sử dụng các bộ lọc được thiết kế cho/sử dụng bởi dịch vụ lập chỉ mục. Chúng được thiết kế để trích xuất văn bản thuần túy ra khỏi các tài liệu khác nhau, rất hữu ích cho việc tìm kiếm bên trong tài liệu. Bạn có thể sử dụng nó cho các tệp Office, PDF, HTML và vv, về cơ bản là bất kỳ loại tệp nào có bộ lọc. Nhược điểm duy nhất là bạn phải cài đặt các bộ lọc này trên máy chủ, vì vậy nếu bạn không có quyền truy cập trực tiếp vào máy chủ thì điều này có thể không thực hiện được. Một số bộ lọc được cài đặt sẵn với Windows, nhưng một số bộ lọc, như PDF, bạn phải tự cài đặt. Để triển khai C#, hãy xem bài viết này: Using IFilter in C#

+0

Đó là * chính xác * những gì tôi cần. Cảm ơn! –

0

Sử dụng Lời mô hình đối tượng, đó là cách đáng tin cậy duy nhất kể từ khi định dạng Word không mở cửa và thay đổi từ phiên bản lên phiên bản.

+0

Nhưng làm thế nào? Đây là một phản ứng vô ích mà không có mẫu mã. – KyleM

4

PDF:

Bạn có các tùy chọn khác nhau.

pdftotext:
Tải XPDF utilities. Trong tệp .zip có nhiều tiện ích dòng lệnh khác nhau. Một là pdftotext(.exe). Nó có thể trích xuất tất cả nội dung văn bản từ một tệp PDF hoạt động tốt. Nhập pdftotext -help để tìm hiểu về một số nếu tham số dòng lệnh của nó.

Ghostscript:
Cài đặt latest version of Ghostscript (v.8.71). Ghostscript là một trình thông dịch PostScript và PDF. Bạn cũng có thể sử dụng nó để trích xuất văn bản từ một PDF:

gswin32c.exe^
-q^
-sFONTPATH=c:/windows/fonts^
-dNODISPLAY^
-dSAFER^
-dDELAYBIND^
-dWRITESYSTEMDICT^
-dSIMPLE^
-f ps2ascii.ps^
-dFirstPage=3^
-dLastPage=7^
input.pdf^
-dQUIET 

Văn bản này sẽ xuất ra trên trang 3-7 của input.pdf để xuất dữ liệu. Bạn có thể chuyển hướng tệp này đến tệp bằng cách gắn thêm > /path/to/output.txt vào lệnh. (Kiểm tra để đảm bảo rằng chương trình tiện ích PostScript ps2ascii.ps có trong thư mục con của bạn là lib Ghostscript.)

Nếu bạn bỏ qua tham số -dSIMPLE, đầu ra văn bản sẽ đoán ngắt dòng và khoảng cách từ. Để biết chi tiết, hãy xem các nhận xét bên trong chính tệp ps2ascii.ps. Bạn thậm chí có thể thay thế thông số đó bằng -dCOMPLEX để nhận thêm thông tin định dạng văn bản.

+0

XPDF hoạt động tốt hơn bất cứ điều gì tôi đã tìm thấy – chrisfs

0

Bạn có thể muốn xem PDFBox. Đây là một liên kết đến trang Code Project cho bạn biết cách sử dụng nó trong C# cũng như các bình luận hữu ích khác.

http://www.codeproject.com/KB/string/pdf2text.aspx

Đối với Lời đề nghị của việc sử dụng mô hình đối tượng Word là có lẽ là chính xác nhất.

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