私たちは何年もの間、アプリケーションの ActiveX コントロールを介して PDF への付箋/注釈/コメントの読み書きを行ってきました。最近、Unicode をサポートする Delphi2009 にアップグレードしました。以下が問題を引き起こしています。
電話すると
CAcroPDAnnot.GetContents
結果はかなり奇妙に見え、Unicode Char が失われます。通常は ????? が返される ansi 文字列として保存するのとは異なります。代わりに、次のような文字列を取得します
‚És‚"ú‚É•—Ž×‚ð‚Ђ¢‚½‚ç</p>
日本語の文字列の場合。
ただし、pdf自体のメニューを介してpdfのコメントをデータファイルに保存すると、次のようなファイルに書き込まれます
0kˆL0Oeå0k˜¨ª0'0r0D0_0‰</p>
後者は、エクスポートして acrobat pdf に再インポートすることができ、正しい Unicode 文字を再作成します。ただし、コードで CAcroPDAnnot.GetContents を呼び出すと、別のものとして戻ってきます。
- CAcroPDAnnot.GetContents は壊れていますか?
- 知っておくべきエンコード方式はありますか?
- 私ができるかもしれない代替手段はありますか?
ありがとう