PDF出力

アプリケーションからPDFを出力するという例は多いと思います。
特にWebアプリケーションの場合、帳票用途でPDFをよく使いますし。


今やってる開発でも帳票コンポーネントを使ってPDF出力をしています。
PDF出力に製品を使う理由は、デザイナを使って帳票フォーマットを作成したいとかですが。


製品を使わずにとりあえずPDFを出力する用途としては、iText.NETが使えると思います。


本家iTextについては、Javaの開発で使った事がありますが。
まあ、使ったと言っても自分はiText周りは担当していなかったので、どんな使い方かは概略しか知らないんですが(´ω`)


…っというわけで、iText.NETをちょっと使ってみました。
以下、iText.NETの使い方メモです(´∀`)


まず、iText.NETをダウンロードしてきます。
http://www.ujihara.jp/iTextdotNET/ja/


で、その中から次のアセンブリをプロジェクトで参照設定します。

後は、Java互換用途でJ#のランタイムも必要なので、次のアセンブリも追加します。

  • vjslib

そしてこんな感じのコードでPDFの作成が可能になります。

using System;
using System.IO;
using System.Diagnostics;
using com.lowagie.text;
using com.lowagie.text.pdf;


public static void Test()
{
    string filename = Path.GetTempPath() + "PdfTest.pdf";

    // PDF
    Document document = new Document( PageSize.A4, 50, 50, 50, 50 );

    PdfWriter.getInstance( document, new FileStream( filename, FileMode.Create ) );

    document.open();

    BaseFont fontBase = BaseFont.createFont( "HeiseiMin-W3", "UniJIS-UCS2-H", BaseFont.NOT_EMBEDDED );
    Font font = new Font( fontBase, 24, Font.BOLD );

    document.add( new Paragraph( "うさうさだよもん", font ) );
    
    document.close();

    // チェック
    Process process = Process.Start( filename ); 
}

あまり厳密な用途ではなくて、出力内容も複雑でない分にはこれでも良いかもしれないです(´ー`)