NonSoft

PDFファイルを出力するサンプル(C#.NET)


 サンプル(ソース/コード)
PDFファイルにMSゴシックの漢字(全角)と画像を書き込むサンプルです。
PDF出力ライブラリとしてiText.NET(iText.NET.2005-dll-1.4.6-1.cab)を使用しています。
iText.NETのダウンロードサイト:http://sourceforge.net/projects/itextdotnet/

iText.NETはvjslib.dll(J#.NET)を参照設定して使用します。
iText.NETのiText.dllとJSharpLib.dllを参照設定して使用します。

PDF関係のプログラムを最初から作るより、こちらのPDF出力ツールと連携した方が早いかもしれません。
このPDF出力ツールエクセルを使用した帳票印刷のサンプル(VB.NET)の組み合わせでPDF出力が出来ます。

PDF関係のサンプルソースは他にもあります。
PDFファイルを分割するサンプル(C#.NET)
PDFファイルを結合するサンプル(C#.NET)
画像ファイルをPDF変換するサンプル(VB.NET)

VB.NET版はこちらです。
PDFファイルを出力するサンプル(VB.NET)
PDFファイルを分割するサンプル(VB.NET)
PDFファイルを結合するサンプル(VB.NET)
画像ファイルをPDF変換するサンプル(VB.NET)

関連ツールはこちらです。
PDF出力・分割・結合(ツール/ソフト)

★フォームモジュール(Form1.cs)
//--PDF出力サンプル--↓↓--PDF作成サンプル--↓↓--PDF出力サンプル--↓↓--PDF作成サンプル--
using System.IO;
using com.lowagie.text;
using com.lowagie.text.pdf;

public partial class Form1 : Form
{
    // (注意1)vjslib.dll(J#.NET)を参照設定する必要があります。
    // (注意2)iText.dllを参照設定する必要があります。
    // (注意3)JSharpLib.dllを参照設定する必要があります。
    // (注意4)using com.lowagie.text;
    // (注意5)using com.lowagie.text.pdf;
    private void Button1_Click(object sender, EventArgs e)
    {
        // PDFオブジェクトの生成
        Document dc = new Document(PageSize.A4);

        // PDFファイルのオープン
        FileStream fs = new FileStream("test.pdf", FileMode.Create, FileAccess.Write);

        // PDFオブジェクトとPDFファイルの関連付け
        PdfWriter.getInstance(dc, fs);

        // PDF出力開始
        dc.open();

        // フォント設定(MSゴシック)
        BaseFont bf = BaseFont.createFont(
            @"c:\windows\fonts\msgothic.ttc,0", BaseFont.IDENTITY_H, true);
        com.lowagie.text.Font f = new com.lowagie.text.Font(
            bf, 30, com.lowagie.text.Font.NORMAL);

        // PDF出力
        // 1ページ目(A4縦)
        dc.setPageSize(PageSize.A4);
        dc.newPage();
        dc.add(new Paragraph("Page1-ABCあいうPDF出力1PDF出力2PDF出力3PDF出力4", f));

        // 2ページ目(A4横)
        dc.setPageSize(PageSize.A4.rotate());
        dc.newPage();
        dc.add(new Paragraph("Page2-ABCあいうPDF出力1PDF出力2PDF出力3PDF出力4", f));

        // 画像出力
        com.lowagie.text.Image img = com.lowagie.text.Image.getInstance("test.jpg");
        img.scalePercent(150);
        dc.add(img);

        // 3ページ目(A4縦)
        dc.setPageSize(PageSize.A4);
        dc.newPage();
        dc.add(new Paragraph("Page3-ABCあいうPDF出力1PDF出力2PDF出力3PDF出力46", f));

        // PDF出力終了
        dc.close();
    }
}
//--PDF出力サンプル--↑↑--PDF作成サンプル--↑↑--PDF出力サンプル--↑↑--PDF作成サンプル--