2011-04-04 9 views
5

J'essaie d'insérer et de lire des qrcode à partir de fichiers PDF. Pour créer/lire les codes qr à partir d'images, j'utilise zxing project et pour manipuler le pdf j'utilise Big Faceless PDF.Lecture de code QR à partir d'un fichier PDF numérisé

Tout fonctionne bien si je crée le code QR, insérer dans mon pdf, puis lire les images du pdf et convertir le bon en QR Code. Cependant, si j'essaie de lire des images à partir d'un document numérisé (avec un autocollant de code QR attaché), je ne peux pas obtenir l'image de code qr du pdf (la seule image que je peux obtenir, le document lui-même).

Est-ce que quelqu'un connaît une bibliothèque Java pour rechercher dans les fichiers pdf pour les codes qr?

Merci pour vous aider à

Répondre

2

Le seul moyen fiable de le faire est de convertir la page PDF à un bitmap, puis en utilisant quelque chose comme ZXing pour numériser la page entière pour le code-barres. Extraire les images individuelles qui composent la page ne fonctionnera pas sur chaque document: le code à barres peut être créé en utilisant des opérations graphiques plutôt que comme une image intégrée (c'est comme ça que nous le faisons), ou si vous avez numérisé un PDF à partir d'une source papier vous avez décrit, ce sera généralement une grande image. Une fois que vous avez converti le PDF en bitmap, ZXing devrait être capable de le faire, du moins en théorie. Naturellement, je recommande de rester avec nous pour la conversion en bitmap ;-)

Si ZXing a du mal à trouver le code, assurez-vous qu'il a suffisamment d'espace blanc autour de lui - vous avez besoin de 4 modules transparents de tous les côtés, donc pour les codes plus petits, il devrait être d'environ 10% de la largeur du code dans les espaces autour du code, pour l'aider à numériser. À votre service ... Mike (CTO @ BFO)

+0

Salut mike J'ai effectivement utilisé ICEPdf pour convertir la page PDF en BufferedImage. J'ai essayé d'utiliser BFO, mais votre documentation était un peu abstraite sur ce sujet. Voulez-vous donner un exemple? :) –

+0

'PDF pdf = nouveau PDF (nouveau PDFReader (nouveau fichier (" in.pdf "))); PDFParser parser = nouveau PDFParser (pdf); PagePainter painter = parser.getPagePainter (numéro de page); BufferedImage image = painter.getBufferedImage (dpi, PDFParser.RGBA); ' Pas grand chose! Envoyez-nous un email au support si vous avez besoin de plus d'informations. –