C#を使用してPDFドキュメントを作成する

PDFドキュメントの自動生成と処理は、最近、要求の厳しい機能になっています。さまざまなアプリケーションで、請求書、領収書、さまざまな種類のレポートなどのPDFドキュメントが動的に生成されます。これに従って、この記事では、.NETアプリケーション内でのPDF自動化の基本的な実装について説明します。最終的には、C#を使用してPDFファイルを作成する方法を学習します。コードサンプルは、C#を使用してテキスト、画像、表、およびその他のコンポーネントをPDFに挿入する方法を示しています。

C#.NET PDF API-無料ダウンロード

Aspose.PDF for .NETは、.NETアプリケーション内からPDFファイルを生成および処理できるようにするPDFファイル操作APIです。 APIを使用すると、さまざまな種類のレポートやビジネスドキュメントを動的に生成できます。 APIは、ダウンロード可能なDLLとして利用できるだけでなく、NuGetでホストされます。

Install-Package Aspose.Pdf

C#でPDFファイルを作成する

テキストフラグメントを含む簡単なPDFドキュメントを作成することから始めましょう。以下は、C#を使用してPDFファイルを作成する手順です。

  • Documentクラスのオブジェクトを作成します。
  • Document.Pages.Add()メソッドを使用して、ドキュメントにページを追加します。
  • 新しいTextFragmentオブジェクトを作成し、そのテキストを設定します。
  • ページのParagraphsコレクションにTextFragmentを追加します。
  • Document.Save(String)メソッドを使用してPDFファイルを保存します。

次のコードサンプルは、C#を使用して単純なPDFファイルを作成する方法を示しています。

// ドキュメントオブジェクトを初期化します
Document document = new Document();

// ページを追加
Page page = document.Pages.Add();

// 新しいページにテキストを追加する
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));

// PDFを保存 
document.Save("document.pdf");

複雑なPDFドキュメントの作成の詳細をご覧ください。

C#でPDFファイルを編集する

PDFファイルの変更は、新しいファイルを作成するのと同じくらい簡単です。 Documentクラスを使用してファイルをロードし、必要な操作を実行して保存するだけです。 PDFを変更する手順は次のとおりです。

  • Documentクラスのオブジェクトを作成し、そのコンストラクターへのPDFファイルのパスを提供します。
  • ドキュメントのページまたはコンテンツを操作します。
  • Document.Save()メソッドを使用してドキュメントを保存します。

次のコードサンプルは、C#を使用してPDFを変更する方法を示しています。

// PDFをロード
var pdfDocument = new Aspose.Pdf.Document("document.pdf");

// 新しい空のページを追加するなど、操作を行います
pdfDocument.Pages.Add();

// 更新されたPDFを保存します
pdfDocument.Save(modifiedFileName);

C#を使用してPDFに画像を挿入

次に、PDFドキュメントに画像を挿入する方法を確認しましょう。そのための手順は次のとおりです。

  • Documentクラスのオブジェクトを作成して、PDFドキュメントを開きます。
  • Pageクラスを使用して、画像を追加するページにアクセスします。
  • ページのリソースコレクションに画像を追加します。
  • 演算子を使用して画像をページに配置します。
    • GSave operator to save the current graphical state.
    • ConcatenateMatrix operator to specify where the image is to be placed.
    • 行う operator to draw the image on the page.
    • 最後に、GRestore演算子を使用して、更新されたグラフィカル状態を保存します。
  • PDFファイルを保存します。

次のコードサンプルは、C#を使用してPDFドキュメントに画像を追加する方法を示しています。

// ドキュメントを開く
Document pdfDocument = new Document("document.pdf");

// 座標を設定する
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// 画像を追加する必要があるページを取得する
Page page = pdfDocument.Pages[1];

// 画像をストリームにロード
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// ページリソースの画像コレクションに画像を追加する
page.Resources.Images.Add(imageStream);

// GSave演算子の使用:この演算子は現在のグラフィックス状態を保存します
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// RectangleオブジェクトとMatrixオブジェクトを作成します
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// ConcatenateMatrix(連結行列)演算子の使用:画像の配置方法を定義します
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Do演算子の使用:この演算子は画像を描画します
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// GRestore演算子の使用:この演算子はグラフィックスの状態を復元します
page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); 

// 更新されたドキュメントを保存する
pdfDocument.Save("document.pdf");

PDFに画像を挿入の詳細をご覧ください。

C#を使用してPDFでテーブルを作成する

テーブルは、行と列の形式でデータを整理するために使用されるドキュメントの重要なコンポーネントです。 Aspose.PDF for .NETは、PDFドキュメントにテーブルを作成して挿入するための非常に簡単な方法を提供します。この操作を実行する手順は次のとおりです。

  • Documentクラスを使用してPDFファイルをロードします。
  • テーブルを初期化し、Tableクラスを使用してその列と行を設定します。
  • テーブルの設定(つまり、境界線)を設定します。
  • Table.Rows.Add()メソッドを使用して行を作成し、テーブルにデータを入力します。
  • Document.Pages1.Paragraphs.Add(Table)メソッドを使用して、テーブルをページに追加します。
  • PDFファイルを保存します。

次のコードサンプルは、C#でPDFドキュメントにテーブルを作成して追加する方法を示しています。

// ソースPDFドキュメントをロード
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");

// テーブルの新しいインスタンスを初期化します
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// テーブルの境界線の色をLightGrayに設定します
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// テーブルセルの境界線を設定します
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// 10行を追加するループを作成します
for (int row_count = 1; row_count < 10; row_count++)
{
    // テーブルに行を追加します
    Aspose.Pdf.Row row = table.Rows.Add();
    // テーブルセルを追加する
    row.Cells.Add("Column (" + row_count + ", 1)");
    row.Cells.Add("Column (" + row_count + ", 2)");
    row.Cells.Add("Column (" + row_count + ", 3)");
}

// 入力ドキュメントの最初のページにテーブルオブジェクトを追加します
doc.Pages[1].Paragraphs.Add(table);

// テーブルオブジェクトを含む更新されたドキュメントを保存します
doc.Save("document_with_table_out.pdf");

PDFでのテーブルの作成の詳細をご覧ください。

C#でPDF形式のフォームを作成する

PDFのフォームは、リーダーからデータを収集するために使用されます。テキストボックス、チェックボックス、ラジオボタン、およびその他のサポートされているコントロールをPDF形式で挿入できます。 PDF形式は2種類のフォームをサポートしています。アクロフォームとXFAフォーム(詳細を参照)。以下は、PDFでフォームを作成および追加する手順です。

  • Documentクラスを使用してPDFファイルをロードします。
  • TextBoxFieldなどのフォームコントロールを作成します。
  • Document.Form.Add(textBoxField、1)メソッドを使用して、フォームにコントロールを追加します。
  • PDFドキュメントを保存します。

次のコードサンプルは、C#を使用してPDFドキュメントにフォームを追加する方法を示しています。

// ドキュメントを開く
Document pdfDocument = new Document("document.pdf");

// フィールドを作成する
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";

// TextBoxField.Border = new Border(
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;

textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// ドキュメントにフィールドを追加
pdfDocument.Form.Add(textBoxField, 1);

// 変更したPDFを保存
pdfDocument.Save("output.pdf");

PDFでのフォームの作成の詳細をご覧ください。

結論

この投稿では、C#を使用してPDFファイルを最初から作成する方法を学びました。さらに、テキスト、画像、表、フォームなどのさまざまなタイプのコンポーネントをプログラムでPDFドキュメントに挿入する方法を理解しました。 PDF APIの詳細については、ドキュメントを使用して学ぶことができます。

関連項目

情報:Asposeは、PDFをオンラインで表示PDFをビデオに変換PDFをオンラインで編集できる無料のオンラインWebアプリを提供しています。 ]。