Comment savoir si un PDF ne contient que des images ou si la ROC a été scannée pour la recherche?

j'ai un tas de fichiers PDF qui viennent de documents scannés. Les fichiers contiennent un mélange d'images et de texte. Certaines ont été scannées sous forme d'images sans ROC, de sorte que chaque page PDF est une grande image, même si toute la page est entièrement en texte. D'autres ont été scannées à L'aide de la roc et contiennent des images et du texte pouvant faire l'objet d'une recherche lorsqu'il y a du texte. Dans de nombreux cas, même les mots dans les images ont été consultées.

je veux faire un processus automatisé pour reconnaître le texte dans tout le scanné documents utilisant OCR, avec Acrobat 8 Pro, mais je ne veux pas re-OCR les fichiers qui ont déjà été à travers le processus OCR dans le passé. Est-ce que quelqu'un sait s'il y a un moyen de dire lesquelles contiennent seulement des images, et lesquelles contiennent déjà du texte consultable?

je prévois de le faire en C# ou VB.NET mais je ne pense pas qu'être capable de distinguer les deux types de fichiers dépend de la langue.

19
demandé sur Bratch 2009-09-29 02:45:42

7 réponses

les images scannées converties en PDF qui ont été OCR'ed dans la suite pour rendre le texte consultable contiennent normalement les parties de texte rendues "invisibles". Donc ce que vous voyez à l'écran (ou sur du papier une fois imprimé) est toujours l'image originale. Mais quand vous recherche avec succès, vous obtenez les touches surlignées qui sont sur le texte invisible.

je vous recommande de regarder les outils de ligne de commande dérivés de XPDF pdffonts(.exe),pdfinfo(.exe) et pdftotext(.exe). Voir ici pour les téléchargements: http://www.foolabs.com/xpdf/download.html

Exemple d'utilisation de pdffonts:

C:\downloads\> pdffonts cisco-ip-phone-7911-guide6.1.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
LGOKFL+Univers-BlackOblique          Type 1C           yes yes no   13171  0
LGOKGM+Univers-Black                 Type 1C           yes yes no   13172  0
[....]

Ce PDF utilise des polices (indiquées par la colonne "Nom"), Les intègre (indiquées par le " oui "dans la colonne "emb") et utilise des polices de sous-ensembles (indiquées par le " oui "dans la colonne" sous -").

C:\downloads\> pdffonts examle1.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
Univers-BlackOblique                 Type 1C           yes no  no   14    0
Arial                                TrueType          no  no  no   15    0

Ce PDF utilise 2 polices (indiquées par la colonne "Nom"). La police "univers-BlackOblique" est complètement intégrée (indiqué par le 'oui' dans la 'emb colonne" et le " non "dans le" sub " de la colonne). La police "Arial" est également utilisée, mais n'est pas intégrée.

C:\downloads\> pdffonts examle2.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------

Ce PDF n'utilise pas une seule police, et n'a donc pas de texte intégré (donc pas de ROC non plus).

Exemple d'utilisation de pdftotext:

C:\downloads\> pdftotext ^
                   -layout ^
                   cisco-ip-phone-7911-guide6.1.pdf ^
                   cisco-ip-phone-7911-guide6.1.txt

ceci extraira toutes les chaînes de texte du PDF (en essayant de préserver une certaine ressemblance avec la mise en page originale). Si il n'y a pas de texte dans le PDF, vous savez qu'il n'y a pas de ROC...

19
répondu Kurt Pfeifle 2010-06-24 09:08:00

divers outils PDF peuvent vous indiquer s'il y a du texte. Certains sont disponibles en tant que com controls, et peut-être même natifs .net.

3
répondu Steven Sudit 2009-09-28 23:00:39

ouvrir le document en acrobat. Allez à Fichier - > Propriétés. Cherchez dans la section" Avancé " et trouvez le producteur PDF. Si on lit quelque chose comme " Capture de papier..."alors il a été OCR.

J'espère que cela vous aidera.

1
répondu Bob 2010-04-22 18:10:13

le pdfspy d'Apago extrait L'information de PDF dans un fichier XML. Il contient des informations sur le document, y compris des images et du texte. Pour votre projet, l'information utile inclut le nombre d'images et la taille et où il y a du texte OCR (caché).

http://www.apagoinc.com/pdfspy

0
répondu Dwight Kelly 2009-12-28 12:03:09

Désolé de déterrer de vieux thread, mais si vous avez trouvé cet regarder mon thread:

programme de roc par lot pour les fichiers PDF

vous pouvez obtenir des informations supplémentaires sur le pdf en le cattant dans unix / linux / osx ou en l'ouvrant en mode "rb" en python. (bien sûr, c'est python et vous ne vouliez pas l'utiliser mais peut-être qu'il a quelque chose d'équivalent).

0
répondu PatentDeathSquad 2017-05-23 12:31:52

utilisez "dtsearch" pour créer un index pour tous les fichiers pdf... puis "voir le fichier journal" du processus d'indexation pour vérifier la liste des fichiers pdf qui n'ont pas été indexés.

-1
répondu Ahmed 2016-04-25 01:49:29

une solution de très faible technologie: tout fichier qui a scanné du texte contiendra sans aucun doute la lettre "a" alors faites une recherche sur tout le contenu du fichier qui ne contient pas la lettre A. i.e. "NOT a". Tout fichier qui apparaîtra n'aura pas été OCR!--1-->

-2
répondu user3223316 2014-01-22 11:40:29