帳票システムRapidReportについてお尋ね

683 views
Skip to first unread message

hptzgle

unread,
Oct 5, 2017, 11:00:33 PM10/5/17
to RapidReportサポート QAフォーラム

RapidReport開発担当者様



お世話になります。
御社の帳票システムRapidReportを使い PDF等の帳票作成に活用し

非常に 重宝しておりますが 時々 下記の例外エラーメッセージに示すように

Font 'HeiseiKakuGo-W5' with 'UniJIS-UCS2-H' が認識できない状態になることがあります。

フォント設定は 御社のマニュアルに示すとおりに Global.asaxApplication_Startメソッドに
設定済みであり 通常の場合は問題なく PDF出力できるのですが 時々 認識できなくなります。

これまでの 経験上 このようなことが起きないような 解決策を ご教授願いたく

よろしくお願いいたします。

 

-----  動作環境 -------------------

OS : Windows server 2012 R2

WEB : ASP.NET 4.0 による

言語: C#

D/B server: SQL server 2012

-------------------------------

 

----  ASP.NET でのレンダラの利用 マニュアルより抜粋 -----

ASP.NETPDFレンダラを利用する場合には、 Global.asaxApplication_Startメソッドに以下の
内容を書いておく必要があります。

  // C#

  void Application_Start(object sender, EventArgs e)

  {

    iTextSharp.text.pdf.BaseFont.AddToResourceSearch(Server.MapPath("bin\\iTextAsian.dll"));

  }

 

-----------------------------------------------------------

 

---- エラー発生時の メッセージ ------------------------- Exception information:

    Exception type: DocumentException

    Exception message: Font 'HeiseiKakuGo-W5' with 'UniJIS-UCS2-H' is not recognized.

   場所 iTextSharp.text.pdf.BaseFont.CreateFont(String name, String encoding, Boolean embedded, Boolean cached, Byte[] ttfAfm, Byte[] pfb, Boolean noThrow, Boolean forceRead)

   場所 iTextSharp.text.pdf.BaseFont.CreateFont(String name, String encoding, Boolean embedded)

   場所 jp.co.systembase.report.renderer.pdf.PdfRendererSetting..ctor()

   場所 jp.co.systembase.report.renderer.pdf.PdfRenderer..ctor(Stream os)

----------------------------------------------------------------

RapidReport

unread,
Oct 6, 2017, 1:44:28 AM10/6/17
to RapidReportサポート QAフォーラム
伊藤です。

すみませんが、なぜこうしたエラーが出てしまうのか、
こちらとしても原因の仮説を立てることができておりません。

お手数ですが、次のようなクラスを追加して頂き、

    public class iTextAsianLoader
    {
        private static bool isLoaded = false;
        public static void Load(HttpServerUtility server)
        {
            if (!isLoaded)
            {
                iTextSharp.text.pdf.BaseFont.AddToResourceSearch(server.MapPath("bin\\iTextAsian.dll"));
                isLoaded = true;
            }
        }
    }

以下のように、PdfRendererを生成する直前に、その都度呼び出す、
ということを試していただけますでしょうか。

    iTextAsianLoader.Load(server);
    PdfRenderer renderer = new PdfRenderer(...);

hptzgle

unread,
Oct 6, 2017, 3:38:14 AM10/6/17
to RapidReportサポート QAフォーラム
伊藤様

ご教示ありがとうございます。
試させていただきます。
Reply all
Reply to author
Forward
0 new messages