こんにちわ!本日はプライベートでレガシーなシステムのサーバーお引越しをしたときに遭遇したCrystal Reportsに関する現象について経緯と解決方法を備忘録も兼ねてご紹介します。
Crystal Reportsとは
Crystal ReportsはドイツSAP社の帳票作成を行うソフトウェアで、開発環境に導入して手軽に帳票を扱えるアプリケーションを作成できます。私の場合はVIsual StudioにCrystal ReportsをインストールしてPDF形式の帳票を印刷する機能をアプリケーションに組み込んでいます。
サーバー変えたら印刷時の文字サイズが極小に
この度そのアプリのホスティングサーバーをお引越しすることになったのですが、引っ越し先のサーバーから帳票を印刷したら文字サイズが小さすぎて読めないという問題が発生しました。環境は下記のとおりです。
移行前 | 移行後 | |
サーバーOS | windows server 2012 R2 | windows server 2016 |
Crystal Reports | runtime engine version 13(※1) | 同じ |
サーバーソフト | IIS 8.5 | IIS 10.0 |
※1:version 13はvisual studioの開発者用のバージョンです。
調べてみると原因はOSではなく、Crystal Reports固有の問題のようでレジストリキーを弄れば直るとのことでした。
レジストリーキーの編集
こちらのサイトを参考にレジストリキーを編集していきます。まずはwindowsのファイル名を指定して実行でregeditと入力し、レジストリエディターを起動します。
編集個所はHKEY_CURRENT_USERとHKEY_LOCAL_MACHINEの2つです。そこから先はリンク先にも書かれている通りCrystal Repotrtsの製品バージョンによって編集場所が微妙に違うので注意が必要です。
version 13の場合ですが、HKEY_CURRENT_USER\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\Export\PDFとなるようにツリーを構成します。キーがまだない場合は該当箇所を右クリックして新規=>キーよりキーを新規作成してください。
キーを構成出来たら、PDFキーを右クリックして新規=>DWORD(32bit)値を選択して追加します。右画面に追加されるのでダブルクリックして下図の通り名前をForceLargerFontsにして値を1に設定します。
まったく同じ作業をHKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\Export\PDFに対しても行います。これで作業完了です。
対策前後の文字サイズ比較
対策前。帳票を一部抜粋して拡大してるのでそこまで小さく感じませんが、内容が多いと見づらいサイズです。
対策後。かなり文字サイズが改善されました。
まとめ
今回はCrystal ReportsでPDF印刷時に文字サイズが小さくなる現象の解決策をご紹介しました。他に解決策がないので仕方ないですが、レジストリを編集する際は自己責任でお願いします。