添付資料(PDF)のカタカナ文字化けについて

ご担当者様、お世話になります。

PDFの最適化する際、埋め込みフォントデータが一部欠損する現象が発生しております。PDFの画面など詳細は添付のExcelを参照ください。

本件を解決する方法を教えて下さい。

宜しくお願い致します。
問い合わせ.7z (283.0 KB)

@nmlktgw

  1. ご報告内容
    PDF を最適化する際に、埋め込みフォントの一部が欠損し、カタカナが文字化けする現象が発生していることをご報告いただきました [1]。

  2. 原因の概観
    PDF に使用されているフォントが完全に埋め込まれていないと、ビューア側で該当文字(カタカナを含む)が正しく表示できず、文字化けや欠字が起こることがあります [2][3][4][5]。

  3. 対策(まずお試しください)

    a. フォント埋め込み設定の確認

    // Aspose.Pdf for .NET の例
    var saveOptions = new PdfSaveOptions
    {
        // すべてのフォントをフル埋め込み
        FontEmbeddingMode = FontEmbeddingModes.EmbedAll,
        // フォントのサブセット化を無効化(欠損防止)
        SubsetFonts = false
    };
    pdfDocument.Save("output.pdf", saveOptions);
    

    b. 最適化時に埋め込みフォントを保持

    var opt = new OptimizationOptions
    {
        // 埋め込みフォントを削除しない
        PreserveEmbeddedFonts = true
    };
    pdfDocument.Optimize(opt);
    

    c. フォントリポジトリに対象フォントを登録

    FontRepository.RegisterFont("C:\\Windows\\Fonts\\msgothic.ttc"); // 例:MS Gothic
    

    d. サブセット化が原因の場合は、サブセット化をオフにして再生成
    上記 SubsetFonts = false が有効です。

  4. それでも解決しない場合

    • ご提供いただいた 7z アーカイブ(PDF と Excel)を本スレッドに再度アップロードし、再現手順を追記してください。
    • 可能であれば、問題が発生する PDF を生成したコードや使用している Aspose.Pdf のバージョン情報を共有いただくと、原因特定が迅速になります。

上記手順でフォントが完全に埋め込まれた PDF が生成されれば、カタカナの文字化けは解消される可能性があります。ご不明点や再現が確認できない場合は、引き続き本スレッドで情報をご提供ください。

ご担当者様、ご回答ありがとうございます。

尚、こちらのバージョンは「Aspose.PDF 23.8」となるのですが、
その場合でも上記の回答は同じ内容になりますでしょうか?
もし変わってくるようでしたら、再度回答をいただけるとありがたいです。

宜しくお願い致します。

@nmlktgw

ご質問の件ですが、以前の回答でご案内した設定は Aspose.PDF の API に含まれるプロパティですので、現在ご利用のバージョンでも同様に適用できる可能性があります [1]。

確認していただきたいポイント

  1. フォントのフル埋め込み
    FontEmbeddingMode = FontEmbeddingModes.EmbedAll が有効かどうか確認してください。

  2. サブセット化の無効化
    SubsetFonts = false に設定し、フォントが部分的にしか埋め込まれないことを防ぎます。

  3. 最適化時のフォント保持
    OptimizationOptions.PreserveEmbeddedFonts = true を使用して、最適化処理で埋め込みフォントが削除されないようにします。

  4. 使用フォントの登録
    必要な日本語フォント(例:MS Gothic、Yu Gothic など)を FontRepository.RegisterFont で明示的に登録します。

上記を実施した上で依然として文字化けが発生する場合は、以下の情報をご提供いただくと、さらに詳しい調査が可能です。

  • 問題が起きる PDF を生成したコード(使用している API の呼び出し順序など)
  • 該当 PDF を開く際に使用しているビューアのバージョン
  • 文字化けが起きる具体的な文字(例:カタカナの「ア」だけか、全体か)

必要に応じて、追加情報をご提示ください。引き続き本スレッドでサポートいたします。

ご担当者様、回答ありがとうございます。

>1.フォントのフル埋め込み
⇒ 「CS0117: 'PdfSaveOptions’に’FontEmbeddingMode’の定義がありません」
となります。

>3. 最適化時のフォント保持
⇒「CS1061: 'OptimizationOptions’にPreserveEmbeddedFontsの定義が含まれておらず、型’OptimizationOptions’の最初の引数を受け付けるアクセス可能な拡張メソッド’PreserveEmbeddedFonts’が見つかりませんでした。」
となります。

@nmlktgw

AIの応答により混乱を招いてしまい申し訳ございません。どうぞ無視していただいて構いません。

お手数ですが、最新バージョンのAPIでコードスニペットをお試しいただき、日本語文字をサポートするフォントがすべてお使いのシステムに正しくインストールされていることをご確認ください。それでも問題が解決しない場合は、Excelファイルに添付されていたサンプルPDFドキュメントが見当たらなかったため、そちらを共有いただけますと幸いです。弊社環境でシナリオをテストし、適切に対処いたします。

ご担当者様、
回答ありがとうございます。

こちらの確認事項は以下ですので、再度確認をお願い致します。

①埋め込みフォントのPDFに対し、最適化オプションOptimizationOptions.SubsetFonts=trueで最適化すると、フォントデータが一部欠損してしまうのは、Asposeの不具合でしょうか?
②回避策ありますでしょうか?
③SubsetFonts=falseの場合、最適化後PDFファイルのサイズにどのくらいの影響があるでしょうか?

@nmlktgw

私たちはこの情報を必ず確認し、確認結果をお伝えします。以前にお願いしたように、サンプルのPDFドキュメントを共有していただけますでしょうか?そうすれば、問題管理システムでチケットを作成し、直面している問題を調査することができます。調査が完了次第、フィードバックを共有させていただきます。

ご担当者様、
サンプルPFDについては、企業情報などが含まれるため、お渡しできるか確認しておりますが、難しいかもです。
尚、こちらの調査では、問題は発生する元PDFは、「iTextライブラリ」を利用して作成していることを確認しております。先日お渡しした添付ExcelのPDF Creator情報を確認下さい。
ご担当者様の方で「iTextライブラリ」を利用して作成して再現可能か、同時に確認をお願いできないでしょうか?

お手数ですが宜しくお願い致します。