2011-10-12 29 views
5

Tôi có hơn 30.000 tệp pdf. Một số tập tin đã được OCR và một số thì không. Có cách nào để tìm ra những tập tin đã được OCR'd và pdf nào chỉ là hình ảnh?Cách xác định tệp PDF cần OCR?

Sẽ mất bao giờ nếu tôi chạy từng tệp thông qua bộ xử lý OCR.

Trả lời

3

Tôi sẽ viết một tập lệnh nhỏ để trích xuất văn bản từ các tệp PDF và xem nó có phải là "trống" hay không. Nếu có văn bản thì PDF đã được OCR. Bạn có thể sử dụng ghostscript hoặc XPDF để trích xuất văn bản.

EDIT: Điều này sẽ giúp bạn bắt đầu:

foreach ($pdffile in get-childitem -filter *.pdf){ 
    $pdftext=invoke-expression ("\path\to\xpdf\pdftotext.exe '"+$pdffile.fullname+"' -"); 
    write-host $pdffile.fullname 
    write-host $pdftext.length; 
    write-host $pdftext; 
    write-host "-------------------------------"; 
} 

Đáng tiếc là ngay cả khi bạn chỉ có hình ảnh trong PDF của bạn pdftotext sẽ trích xuất một số văn bản, vì vậy bạn sẽ phải làm một số công việc nhiều hơn để kiểm tra xem bạn cần để OCR bản pdf.

+0

Cảm ơn đã trả lời. Ít nhất bạn đã cho tôi một cái gì đó để suy nghĩ về. Một kịch bản PowerShell có thể được xây dựng với ghostscript hoặc xpdf không? Bạn có bất cứ điều gì tiện dụng mà tôi có thể thử? Cảm ơn một lần nữa. –

+0

Đã thêm một số tập lệnh vào câu trả lời của tôi –

+0

Cảm ơn đoạn mã. Tôi chắc chắn sẽ thử nó. –

0

XPDF đã làm việc cho tôi theo cách khác. Nhưng không chắc chắn nó là đúng cách.

Các tệp PDF có hình ảnh của tôi cũng cung cấp nội dung văn bản. Vì vậy, tôi đã sử dụng pdffonts.exe để xác minh xem phông chữ có được nhúng trong tài liệu hay không. Trong trường hợp của tôi, tất cả các tệp hình ảnh đều hiển thị 'không' cho giá trị được nhúng.

> Config Error: No display font for 'Symbol' 
> Config Error: No display font for 'ZapfDingbats' 
> name         type    emb sub uni object ID 
> ------------------------------------ ----------------- --- --- --- --------- 
> Helvetica       Type 1   no no no  7 0 

Trong trường hợp như tất cả các file PDF có thể tìm kiếm cho 'yes'

> Config Error: No display font for 'Symbol' 
> Config Error: No display font for 'ZapfDingbats' 
> name         type    emb sub uni object ID 
> ------------------------------------ ----------------- --- --- --- --------- 
> ABCDEE+Calibri      TrueType   yes yes no  7 0 
> ABCDEE+Calibri,Bold     TrueType   yes yes no  9 0 
Các vấn đề liên quan