PDFのQRコード読み取り時の文字化け

お世話になっております。Asposeで作成したPDFのQRコードに下記の文字が含まれている場合、読み取り時に文字化けが発生します。

なお、単独の∝だけのQRコードの場合は文字化けしませんでした。
原因調査および同様に文字化けする文字がないかご確認お願い致します。また、回避方法をご指導いただけますと幸いです。

[バージョン情報]
aspose-barcode-24.6-jdk18.jar
aspose.pdf-22.3.jar

お問い合わせいただきありがとうございます。

弊社環境でこの問題を再現するために、以下の情報をご提供ください。

  1. バーコードの読み取りに使用しているサンプルコードをご提供ください。

問題を再現するには、バーコードの読み取りに使用しているコードと設定が必要です。

  1. 弊社環境で同じ問題を再現するために、文字化けが発生している実際のPDFファイルをご提供ください。

  2. 何らかの理由でPDFファイルをご提供いただけない場合は、PDFファイル生成時にQRコードに設定した文字列をお知らせください。

弊社で同様のPDFファイルを作成し、問題の再現を試みます。

  1. 可能であれば、最新バージョンの aspose-barcode-26.4.jar を使用した場合に同じ問題が発生するかどうかをご確認ください。

ご提供いただいた情報に基づき、弊社環境で問題の再現を試みます。再現でき次第、修正作業を開始いたします。

ご返信ありがとうございます。下記に回答いたします。
1について、読み取りに使用しているツールと設定を問われていると理解しました。
読み取りツールは「QRkbif」です。設定は添付(QR_kbif設定.png)をご確認ください。
なお、文字コードは Shift-JISです。

2、3について、文字化けが発生している「∝¶〇」のQRコード(パターン③.pdf)を添付します。
参考に文字化けしない単独の∝(パターン①.pdf)と後続の¶〇(パターン②.pdf)のQRコードも添付します。

ほか添付のQR_kbif読み取り結果.pngのバイナリデータを見ると、「∝」だけ(2行目)であれば「81 E5」で正しく読み取られていますが、「∝¶〇」(3行目)になると1文字目の「∝」が「81 E5」となるはずが「81 81 8F」とおかしく、後続も1バイト分ずれた結果、文字化けしているように思われます。

4については、すぐに確認するのは難しいため、内部で調整を進めます。

お忙しいところ恐れ入りますが、ご確認のほどお願い致します。

Aspose提供.zip (727.3 KB)

ご連絡いただきありがとうございます。

詳細な情報および資料をご提供いただき、誠にありがとうございます。

いただいた内容をもとに、弊社側で再現確認および原因調査を進めてまいります。確認ができ次第、改めてご報告いたします。

どうぞよろしくお願いいたします。

お問い合わせいただきありがとうございます。

添付いただいたZIPファイルには、画像ファイルのみが含まれているようです。

弊社環境で同じ条件で問題を再現するため、読み取り時に渡しているパラメータを含め、認識処理で使用しているコードをご提供いただけますでしょうか。

同じ設定を使用して、弊社側で問題の再現を試みます。

ご協力いただきありがとうございます。

ご返信ありがとうございます。

必要となる情報は下記のどちらとなりますでしょうか。
①aspose-barcodeおよびaspose.pdfによるQRコード(前コメントで添付のパターン.pdfの内容)作成時に処理に与えているパラメータ情報
②読み取りツール「QR_kbif」にて①で作成したコードを読み取る際に使用している情報

②である場合、ツール「QR_kbif」は他社様にて作成/提供されているツールとなりますので、内部処理のコードを取得するのが難しい状況となります。

ご返信いただきありがとうございます。

お客様のケースでは、Aspose製品はバーコードの生成のみに使用されており、読み取りは外部ツールによって行われているため、弊社で必要としている情報は、aspose-barcode および aspose.pdf を使用して QRコード/PDFファイルを作成する際に使用しているコードおよびパラメータです。

「QR_kbif」側の内部処理コードは不要です。

ご連絡ありがとうございます。

各パラメータ確認し、5月18日までに情報を展開させていただきます。

QR作成部分のコードおよびパラメータは添付のファイルの通りとなっております。
(こちらで作成したQRコードをPDFに埋め込み、PDFファイルを作成しております。)

Aspose様提供_20260518.zip (838 Bytes)

なお、QREncodeModeをAUTOに変更すると"∝"は文字化けしなくなりましたが、"¶"が文字化けするような動きとなりました。両方の文字が文字化けしないような回避方法をご教示いただけますと幸いです。
お手数をおかけしますが、調査のほどお願い致します。

ご連絡いただきありがとうございます。

コードおよびパラメータをご提供いただき、ありがとうございます。

ご提供いただいたコードおよび情報をもとに、弊社環境で問題の再現確認を行い、両方の文字が文字化けしない回避方法があるかを確認いたします。

原因が分かり次第、改めてご報告いたします。

どうぞよろしくお願いいたします。

お世話になっております。

ご提供いただいたサンプルコードおよびPDFファイル(パターン①.pdf、パターン②.pdf、パターン③.pdf)を使用して調査を実施しました。

Aspose.BarCode for Java 24.6を使用し、QRコードの生成および認識の両方について問題の再現を試みましたが、弊社環境では同様の問題を再現できませんでした。

また、問題をより正確に分析するため、Shift_JISの元のバイト列を使用して文字列を再構築し、生成時および認識時のUnicode文字とShift_JISバイト値を確認しました。

使用したShift_JISバイト列は以下です:

81 E5 → U+221D, ∝
81 F7 → U+00B6, ¶
81 FC → U+25EF, ◯

さらに、ご提供いただいたPDFファイル(パターン①.pdf、パターン②.pdf、パターン③.pdf)についても、Aspose.BarCodeを使用して認識テストを実施しました。

認識結果は以下の通りで、すべて正しく認識されました:

パターン①.pdf: ∝ → 81 E5
パターン②.pdf: ¶◯ → 81 F7 81 FC
パターン③.pdf: ∝¶◯ → 81 E5 81 F7 81 FC

確認したテストでは、生成されたQRコードおよびご提供いただいたPDFファイルの両方について、認識結果は元のUnicode文字列と一致しました。

最初の2つのテストでは、お送りいただいたコードと同じQR設定を使用しています:

  • QREncodeMode.ECI_ENCODING
  • ECIEncodings.Shift_JIS
  • QREncodeType.FORCE_QR
  • QRVersion.AUTO

また、第3のテストでは、代替設定として以下を使用しました:

  • QREncodeMode.ECIを使用(QREncodeMode.ECI_ENCODINGの代わり)
  • QR ECIエンコードとしてUTF-16BEを使用(Shift_JISの代わり)
  • QRVersion.AUTOを維持

可能であれば、第3のテストで使用した設定でもQRコード生成をご確認いただけますでしょうか。

現在の調査結果からは、問題はQRコード自体ではなく、QRkbif側のデコード処理、通信設定、または文字列の解釈処理に関連している可能性があると考えられます。

よろしくお願いいたします。
Tests_2337.zip (4.1 KB)

お世話になっております。

詳細な調査、代替設定のご提示ありがとうございます。

貴社での環境では再現しなかった旨、承知いたしました。
今一度弊社内のソースコードの見直し、およびご提示いただいた代替設定での動作確認を実施してみます。

お世話になっております。

弊社内で代替設定の適用してみましたがうまくいかず、ソースコードを見直してみたところ、意図した通りの結果を得ることができました。

原因としては対象のバイト列がShift_JISではなくMS932で与えられていたためでした。
QRコード作成前にsetCodeText(code, Charset.forName(“MS932”))メソッドの呼び出しを追加し、
QREncodeModeをAUTO、ECIEncodingsをNONE(デフォルト値のまま)と設定することで正しいQRコードが作成できました。

調査のサポートありがとうございました。
また、原因が弊社内のソースコードの問題であったこと申し訳ありませんでした。