Java で ZXing を使用すると問題が発生します。QR コードを含む 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ファイルのQRコード以外をすべて切り取っても、デコードクラスは画像内のQRコードを見つけることができません。このような 20 個の異なる PDF がありますが、どれも機能しません。クレイジーな部分は、Android アプリの Barcode Scanner が QR コードの読み取りに問題がないことです。これは、PDF ファイルであろうと PNG ファイルであろうと関係ありません。バーコード スキャナー アプリは ZXing コードに基づいていませんか? 私はJavaクラスで他のQRコードを使用しましたが、それらはデコードされているため、機能が機能することはわかっています。どんな提案でも大歓迎です、ありがとう。
-SL