8
votes

Extraire des images et des mots avec des coordonnées et des tailles de PDF

J'ai beaucoup lu sur les extractions et les bibliothèques PDF (comme Itext), mais je n'ai pas trouvé de solution pour extraire des images et du texte (avec des coordonnées) d'un fichier PDF.

La tâche consiste à numériser PDF avec catalogue de produits et à extraire chaque image. Il y a un code image imprimé à côté de chaque image et une liste des codes de produits pour les produits affichés sur l'image.

Je sais qu'il n'ya aucun moyen d'extraire des informations structurées d'un PDF, mais avec des coordonnées de tous les objets d'image et de texte, je pourrais écrire du code pour identifier le texte lié par sa distance de l'image. Ensuite, je pourrais diviser du texte à l'aide d'un regexp et découvrir ce qui est un code de produit , quel est un code image etc.

Pourriez-vous recommander une bonne et une bonne solution de travail pour la tâche?


2 commentaires

Ciblez-vous une certaine plate-forme / langue? Lorsque vous dites "Scan", vous voulez dire "regarder à travers" ou analysez-vous réellement un objet physique et avez-vous besoin de capacités OCR?


Merci pour votre réponse! Je programme dans .net pour que toute bibliothèque qui possède un portage .NET est bonne. Mais je sais aussi Java donc dans les extrémis, je pourrais utiliser une bibliothèque Java. Quoi qu'il en soit, je n'ai pas besoin de OCR. Mon PDF contient du texte et des images. Le texte est rendu dans le contenu du PDF de PDF, donc je ne veux donc pas une sorte d'analyseur / rendu qui vient de me dire où une chaîne devrait être rendue sur une page. J'ai juste besoin des coordonnées.


3 Réponses :


0
votes

Plusieurs bibliothèques Java peuvent le faire. Avez-vous regardé JPPLEAL ou PDFBOX?


2 commentaires

Je viens d'essayer iTextShaRP avec le renduListener. Il semble fonctionner mais pas très bon. ITEXTSTHARP pour mes images de retour PDF avec des coordonnées correctes, mais toute la couche de texte a mal de coordonnées. Je pense que mon fichier PDF a 2 couches de texte et itexthacharp ne me donnez pas de coordonnées. J'ai essayé de dessiner sur une image de l'image de l'itexthaparp et je peux voir rapidement qu'il y a 3 couches (1 pour les images et 2 pour le texte) et cette couche n'est pas alignée du tout.


Pourriez-vous partager le code que vous avez utilisé pour extraire des coordonnées d'images? RenderImage est passé Imagerenderinfo. Comment extraire des coordonnées de cela?



0
votes

Si une bibliothèque commerciale est une option pour vous, vous pouvez essayer Créateur PDF Amyuni .NET ou AMYUNI PDF Creator ActiveX . Vous pouvez utiliser la méthode iacdocument.getObjectsInrectangle pour récupérer tous les "objets graphiques "De votre intérêt, utilisez ensuite le ObjectType Attribut à des images séparées du texte. La bibliothèque fournit déjà un algorithme pour mettre un texte proche ensemble. À partir de la documentation:

IacDocument.GetObjectsInRectangle Method

The GetObjectsInRectangle method gets all the objects that are in the specified rectangle.


0 commentaires

4
votes

Utilisez XPDF ( http://www.foolabs.com/xpdf/ )

Il peut extraire tous les caractères du fichier PDF avec coordonnées ( pdftotext -bbox [SourceFile] [Sortrinfile] ) ainsi que toutes les images et svgs dans le PDF.

C'est une source ouverte (GPLV2) et prend également en charge de nombreuses fonctionnalités d'extraction supplémentaires.


2 commentaires

J'utilise PDftotext depuis des années et je n'ai jamais frappé cette fonctionnalité! Jamais été capable de déterminer comment extraire facilement les coordonnées avant.


Est-ce correct? L'option Bbox ne semble pas fonctionner pour moi et je ne trouve rien à ce sujet dans la documentation.