Tiffファイルにエクスポートする際に解像度を設定することはできますか?【※サンプル有り】

文書番号 : 31380     文書種別 : 使用方法     最終更新日 : 2011/08/27
文書を印刷する
対象製品
ActiveReports for .NET 6.0J Professional
詳細
ActiveReports の Tiffエクスポート機能は、圧縮形式(CompressionSchemeプロパティ)にかかわらず、200×196 DPI の解像度で Tiffファイルを出力する仕様となっております。この解像度を変更する機能は、用意されておりません。

Tiffファイルの解像度を指定して出力したい場合、以下のような方法が考えられます。こちらをご参考ください。
なお、以下の方法は、全て こちら にサンプルをご用意しております。ご参考ください。

  1. 出力したTiff画像の解像度を.NET標準の Bitmapクラスで変更する方法
    ActiveReports の Tiffエクスポート機能で出力した画像を.NET標準の Bitmapクラスでカプセル化し、SetResolutionメソッドで解像度を設定した上で、Tiff形式で保存する方法です。

    [Bitmap.SetResolution メソッド (System.Drawing)]
    http://msdn.microsoft.com/ja-jp/library/system.drawing.bitmap.setresolution.aspx
    但し、こちらの方法の場合、一旦 ActiveReports の Tiffエクスポート機能で出力した Tiffファイルの解像度を変更しているだけです。画像ファイルのDPI値は変更されますが、画像の鮮明度が向上するわけではございません。

    また、こちらの方法は、複数のページで構成される Tiffファイル(マルチページTiff)には適用できません。複数ページのレポートに対して、本処理を実行しても最初のページしか Tiffファイルに出力することができません。


  2. .NET標準の Bitmapクラスを使用して、レポートをTiff形式で出力する方法
    ActiveReports では、Page.Drawメソッドを使用することで生成されたレポートのページを Graphicオブジェクトに描画することが可能です。

    Graphicオブジェクトは、.NET標準の Bitmapクラスで直接操作することが可能ですので、ActiveReports の Tiffエクスポート機能を全く使用することなく、レポートを Tiffファイルに出力することが可能です。また、この方法は 1.の方法と異なり、マルチページTiff の出力が可能です。

    但し、この方法の場合、Windows XP 環境では、"CompressionLZW"、"CompressionNone"のみが使用可能であり、それ以外の圧縮形式である "CompressionCCITT3"、 "CompressionCCITT4"、"CompressionRle" はご利用頂けません。これは、以下の理由によるものです。
    • Windows XP の GDI+ では、色深度が1の時(PixelFormatプロパティが"Format1bppIndexed"の時)以外は、"CompressionCCITT3", "CompressionCCITT4", "CompressionRle" の圧縮形式を使うことができません。
      ※Windows 7 の GDI+ では、デフォルト色深度でもこれらの圧縮形式の使用が可能のようです。
    • Bitmap のコンストラクタを「new Bitmap(x, y, Format1bppIndexed)」とした場合、これらの圧縮形式使ったTiffの作成が可能になります。
      しかしながら、"Format1bppIndexed"の場合、色が使用できません。
      また、インデックスカラーの Bitmap からは Graphics が取得できないため、Page.Drawメソッドによる描画自体が不可になるため、この方法自体を使用することができません。
    また、"CompressionNone"(圧縮なし)の場合、メモリを多く必要とするため、出力自体に失敗する場合もございます。

    なお、前述1.やこの方法は、Bitmap などの.NET標準のクラスを使用した方法です。これらのクラスは弊社が規定するものではございません。ご不明な点がある場合には、マイクロソフト社にお問い合わせいただくか、各種技術資料をご参考ください。

    ◆参考情報
    [マネージ GDI+ でのイメージ エンコーダーおよびイメージ デコーダーの使用]
    http://msdn.microsoft.com/ja-jp/library/bb882579.aspx

    [Image クラス (System.Drawing)]
    http://msdn.microsoft.com/ja-jp/library/system.drawing.image.aspx

    [Bitmap クラス (System.Drawing)]
    http://msdn2.microsoft.com/ja-jp/library/system.drawing.bitmap.aspx

    [Encoder クラス (System.Drawing.Imaging)]
    http://msdn.microsoft.com/ja-jp/library/system.drawing.imaging.encoder.aspx

    [Creating and Saving a Multiple-Frame Image (Windows)]
    http://msdn.microsoft.com/ja-jp/library/ms533839


  3. LEADTOOLS を使用する方法
    弊社では画像処理コンポーネントとして「LEADTOOLS」をご用意致しております。

    [LEADTOOLS Imaging Pro 16.5J | GrapeCity Developer Tools]
    http://www.grapecity.com/tools/products/leadimagingpro165
    LEADTOOLS では、PDFファイルを取り扱うプラグイン製品である「PDF Plug-in」を使用することで PDFファイルを読み込むことが可能です。また、読み込んだ PDFデータを Tiffファイルに変換して出力することも可能です。

    ActiveReports の PDFエクスポート機能でレポートを PDF形式で出力し、LEADTOOLS の機能で Tiffファイルに出力するという方法もご検討ください。
関連情報
キーワード
HowTo エクスポート サンプル有り