J'ai un tas de PDF fichiers provenant de documents numérisés. Les fichiers contiennent un mélange d'images et de texte. Certaines ont été numérisées en tant qu'images sans OCR. Ainsi, chaque PDF page correspond à une grande image, même lorsque la page entière est entièrement composée de texte. D'autres ont été numérisés avec OCR et contiennent des images et du texte interrogeable là où du texte est présent. Dans de nombreux cas, même les mots des images étaient consultables.
Je souhaite créer un processus automatisé permettant de reconnaître le texte de tous les documents numérisés à l'aide d'OCR avec Acrobat 8 Pro, mais je ne souhaite pas ré-OCR des fichiers ayant déjà subi le processus d'OCR par le passé. Est-ce que quelqu'un sait s'il existe un moyen de savoir quelles sont celles qui contiennent uniquement des images et celles qui contiennent déjà du texte interrogeable?
Je prévois de faire cela en C # ou VB.NET, mais je ne pense pas que pouvoir distinguer les deux types de fichiers soit dépendant de la langue.
Les images numérisées converties au format PDF et qui ont été OCRé à la suite d'une opération pour permettre la recherche de texte contiennent normalement les parties de texte rendues comme "invisibles". Donc, ce que vous voyez à l'écran (ou sur le papier une fois imprimé) reste l'image d'origine. Mais lorsque vous recherche avec succès, vous obtenez les occurrences mises en surbrillance qui figurent sur le texte invisible.
Je vous recommande de consulter 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 a incorporées (indiquées par le "oui" dans la colonne "emb") et utilise des polices de sous-ensemble (indiquées par le "oui" dans le 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 'Universe-BlackOblique' est complètement intégrée (indiquée par le 'oui' dans la colonne 'emb' et le 'non' dans la colonne 'sub'). 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
------------------------------------ ----------------- --- --- --- ---------
PDF n'utilise pas une seule police et ne contient donc aucun texte (donc pas d'OCR).
Exemple d'utilisation de pdftotext
:
C:\downloads\> pdftotext ^
-layout ^
Cisco-ip-phone-7911-guide6.1.pdf ^
Cisco-ip-phone-7911-guide6.1.txt
Cela extraira toutes les chaînes de texte du PDF (en essayant de conserver une ressemblance avec la mise en page originale). S'il n'y a pas de texte dans le PDF, vous saurez qu'il n'y a pas d'OCR ...
Différents outils PDF peuvent vous indiquer s'il y a du texte. Certains sont disponibles en tant que contrôles COM et peut-être même en natifs .NET.
Ouvrez le document en acrobat. Allez dans Fichier -> Propriétés. Regardez dans la section "Avancé" et trouvez le PDF Producer. Si le texte indique quelque chose comme "Capture de papier ...", cela signifie qu'il a été converti en OCR.
J'espère que cela t'aides.
Pdfspy d'Apago extrait les informations de PDF dans un fichier XML. Il comprend des informations sur le document, y compris des images et du texte. Pour votre projet, les informations utiles incluent le nombre et la taille des images et où il y a du texte OCR (caché).
Désolé de retrouver l'ancien fil de discussion, mais si vous avez trouvé cela, jetez un coup d'œil à mon fil de discussion:
Programme OCR en lot pour les PDF
vous pouvez obtenir des informations supplémentaires sur le pdf en le lançant sous unix/linux/osx ou en l'ouvrant en mode "rb" en python. (Bien sûr, c'est du python et vous ne voulez pas l'utiliser mais peut-être qu'il a quelque chose d'équivalent).