我是zxing library
QR 码的新手。使用zxing library 1.7
我生成的 QR 码,这些 QR 码会粘贴在文件上,然后将文件扫描成 PDF。当然,我确实使用zxing
库本身创建了客户端程序,它逐页读取扫描的 PDF 并在页面上找到任何 QR 码时显示 QR 码文本。我正在尝试从扫描的 PDF 的每一页中读取多个 QR。
虽然我能够读取一些二维码,但结果不一致。意味着我能够读取 PDF 页面中的一些二维码,而其中一些二维码没有被我的客户端程序识别。我已经为同一主题浏览了其他主题。并稍微修改了我的代码,尽管我无法获得 100% 的结果。
这是我的代码片段,可以让您更多地了解我在做什么。
注意:我正在使用 itext PDF 库的 PdfReaderContentParser 来提取每个 pdf 页面的扫描图像,如下所示
private void extractBarcodeText(BufferedImage bufferedImage) {
try {
Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>();
hints.put(DecodeHintType.TRY_HARDER, BarcodeFormat.QR_CODE);
LuminanceSource source = new com.google.zxing.client.j2se.BufferedImageLuminanceSource(bufferedImage);
BinaryBitmap bitmap = new BinaryBitmap(new GlobalHistogramBinarizer(source));
List<String> innerTextList = new ArrayList<String>();
QRCodeMultiReader multiReader = new QRCodeMultiReader();
Result[] results = multiReader.decodeMultiple(bitmap, hints);
for (int k = 0; k < results.length; k++) {
String text = results[k].getText();
innerTextList.add(text);
System.out.println("#################### Rendered Text from Image #################"+ " " + text);
}
} catch (NotFoundException e) {
e.printStackTrace();
}
}
我尝试了很多组合,但没有运气。是不是因为画质不好?但是,一些图像是如何被识别的,而一些图像仍然是一个谜:(
有谁知道我应该怎么做才能克服这个问题?这是底部的一个示例图像供您参考,因为使用上面的代码可以识别第一张图像,而第二张(HRA)则不是。!