AsposePDFで、テキスト変換後のPDFをAcrobatReaderで開くと、「MS ゴシック」フォントの/Widthsが正しくありません、というメッセージが表示されます。

AsposePDFで、PDFのテキストを置き換えて、別のPDFとして保存しましたが、AcrobatReaderで開くと、「MS ゴシック」フォントの/Widthsが正しくありません、というメッセージが表示されます。メッセージを閉じると、テキストの置換は正しく行われています。

C#のソースの抜粋です。
textFragment.TextState.Font、textFragment.TextState.FontSizeを追加しましたが、メッセージの表示は消えませんでした。

//テキストを置換する
    foreach (TextFragment textFragment in textFragmentAbsorber.TextFragments)
    {
        try
        {
            // 検査表で置換する日付はハイフン形式とする。
            if (argKind == "1")
            {
                textFragment.Text = dt.ToString("yyyy/MM/dd"); //当日日付

            }
            else
            {
                textFragment.Text = dt.ToString("yyyy-MM-dd"); //当日日付
            }

            textFragment.TextState.Font = FontRepository.FindFont("MS Gothic"); //フォントをMSゴシックにする
            textFragment.TextState.FontSize = 10;                               //
        }
        catch (Exception e)
        {
            // 何もしない
        }
    }

    //別名で保存する
    if (argfilePath2 == "")
    {
        pdfDocument.Save(argfilePath3);

        //パス(未印刷)のデータを削除
        File.Delete(argfilePath1);

    }

@Hiroyuki_Matsuura

Acrobat Readerで「MS ゴシック」フォントの/Widthsが正しくないというメッセージが表示される問題は、PDF内のフォントが正しく埋め込まれていないか、フォントの設定に問題がある場合に発生することがあります。この問題を解決するために、以下の手順を試してみてください。

  1. フォントの確認: 使用しているフォントが正しく埋め込まれているか確認してください。Aspose.PDFでは、FontRepository.FindFontメソッドを使用してフォントを取得し、必要に応じてフォントを置き換えることができます。

  2. フォントの置き換え: フォントが見つからない場合、別のフォントに置き換えることができます。以下のコードスニペットは、特定のフォントを別のフォントに置き換える方法を示しています。

    // PDFドキュメントを開く
    Document pdfDocument = new Document("input.pdf");
    
    // テキストフラグメントアブソーバーを作成
    TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber();
    pdfDocument.Pages.Accept(textFragmentAbsorber);
    
    // テキストフラグメントをループ
    foreach (TextFragment textFragment in textFragmentAbsorber.TextFragments)
    {
        // フォントを置き換える
        textFragment.TextState.Font = FontRepository.FindFont("Arial"); // 例としてArialに置き換え
    }
    
    // 結果を保存
    pdfDocument.Save("output.pdf");
    
  3. フォントの埋め込み: PDFを保存する際に、フォントが正しく埋め込まれるように設定を確認してください。特に、フォントの埋め込みオプションが有効になっていることを確認してください。

これらの手順を試しても問題が解決しない場合は、フォントの設定やPDFの生成プロセスを再確認することをお勧めします。特に、使用しているフォントがシステムにインストールされているかどうかも確認してください。

参考文献:
[1]: Replace Missing Fonts | Aspose.PDF for .NET API Reference