我在 Java 中使用 ZXing 时遇到了问题。这是交易,我有一个包含二维码的 PDF。我使用 Imagemagick 将 PDF 转换为 300dpi、单色 PNG 文件,并将其提供给我的解码类:
Result result = null;
BinaryBitmap binaryBitmap;
try{
binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(ImageIO.read(
new FileInputStream(filename)))));
result = new MultiFormatReader().decode(binaryBitmap);
System.out.println("QR Code: "+result.getText());
return result.getText();
}
catch(Exception e){
return null;
}
解码类无法在图像中找到二维码,即使我裁剪了 PNG 文件中的二维码以外的所有内容。我有 20 个这样的不同 PDF,但没有一个可以工作。疯狂的部分是,Android 应用 Barcode Scanner 读取 QR 码没有问题,无论是 PDF 文件还是 PNG 文件。Barcode Scanner 应用程序不是基于 ZXing 代码的吗?我已经在 Java 类中使用了其他 QR 码并且它们正在解码,所以我知道该功能确实有效。任何建议都非常感谢,谢谢。
-SL