コードによる PDF 生成にはさまざまな利点があります。リアルタイムデータ、データベースレコード、ユーザー入力などの動的コンテンツを容易に統合するのに役立ちます。この機能は、ユーザーにより優れたカスタマイズと自動化機能を提供し、面倒な手動操作も回避します。この記事では、Spire.PDF for .NET を使用して PDF ドキュメントを作成する方法を紹介します。 Spire.PDF for .NET をインストールします まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを.NETプロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.PDF 予備知識 Spire.PDF for .NET のページ(PdfPageBase クラスで表される)は、クライアント領域と周囲のマージンで構成されています。コンテンツ領域は、ユーザーがさまざまなコンテンツを記述するための領域であり、ページ余白は通常空白のエッジになります。 下図に示すように、ページ上の座標系の原点はクライアント領域の左上隅にあり、x 軸は水平に右に伸び、y 軸は垂直に下に伸びています。クライアント領域に追加するすべての要素は、指定された座標に基づいている必要があります。 さらに、次の表に重要なクラスと方法を示します。これは、以下のコードを理解しやすくするのに役立ちます。 クラスと方法 説明 PdfDocument クラス PDF ドキュメント モデルを表します。 PdfPageBase クラス PDF ドキュメント内のページを表します。 PdfSolidBrush クラス オブジェクトを単色で塗りつぶすブラシを表します。 PdfTrueTypeFont クラス True Typeフォントを表します。 PdfStringFormat クラス アライメント、文字間隔、インデントなどのテキスト書式情報を表します。 PdfTextWidget クラス 複数のページにまたがる機能を持つテキスト領域を表します。 PdfTextLayout クラス テキストのレイアウト情報を表します。 PdfDocument.Pages.Add() メソッド PDF ドキュメントにページを追加します。 PdfPageBase.Canvas.DrawString() メソッド 指定したフォントとブラシオブジェクトを使用して、ページ上の指定した位置に文字列を描画します。 PdfTextWidget.Draw() メソッド テキストウィジェットをページの指定した位置に描画します。 PdfDocument.Save() メソッド ドキュメントを PDF ファイルに保存します。 C# と VB.NET で PDF ドキュメントを作成する Spire.PDF for .NET では、PDF ドキュメントにさまざまな要素を追加できます。この記事では、プレーンテキストの PDF ドキュメントを作成する方法について説明します。詳細な手順は次のとおりです。 PdfDocument オブジェクトを作成します。 PdfDocument.Pages.Add() メソッドを使用してページを追加します。 ブラシとフォントのオブジェクトを作成します。 PdfPageBase.Canvas.DrawString() メソッドを使用して、ページの指定された座標で文字列を描画します。 テキストを保存する PdfTextWidget オブジェクトを作成します。 PdfTextWidget.Draw() メソッドを使用して、ページの指定された位置にテキストのウィジェットを描画します PdfDocument.Save() メソッドを使用してドキュメントを PDF ファイルに保存します。 C# VB.NET using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; namespace CreatePdfDocument { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //ページを追加する PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(35f)); //タイトルのテキストを指定する string titleText = "ライセンス契約"; //Solid Brusheを作成する PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue)); PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black)); //True Typeフォントを作成する PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Yu Mincho", 18f, FontStyle.Bold),true); PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("Yu Mincho", 12f, FontStyle.Regular), true); //PdfStringFormatクラスによるテキストの配置を設定する PdfStringFormat format = new PdfStringFormat(); format.Alignment = PdfTextAlignment.Center; //ページにタイトルを描画する page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format); //.txtファイルから段落テキストを取得する string paraText = File.ReadAllText("content.txt"); //段落内容を保存するPdfTextWidgetオブジェクトを作成する PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush); //段落の内容を配置する長方形を作成する RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height); //PdfLayoutTypeをPaginateに設定して内容を自動的にページング PdfTextLayout layout = new PdfTextLayout(); layout.Layout = PdfLayoutType.Paginate; //ページに段落テキストを描画する widget.Draw(page, rect, layout); //ファイルに保存する doc.SaveToFile("CreatePdfDocument.pdf"); doc.Dispose(); } } } Imports Spire.Pdf Imports Spire.Pdf.Graphics Imports System.Drawing Namespace CreatePdfDocument Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentオブジェクトを作成する Dim doc As PdfDocument = New PdfDocument() 'ページを追加する Dim page As PdfPageBase = doc.Pages.Add(PdfPageSize.A4,New PdfMargins(35f)) 'タイトルのテキストを指定する Dim titleText As String = "ライセンス契約" 'Solid Brusheを作成する Dim titleBrush As PdfSolidBrush = New PdfSolidBrush(New PdfRGBColor(Color.Blue)) Dim paraBrush As PdfSolidBrush = New PdfSolidBrush(New PdfRGBColor(Color.Black)) 'True Typeフォントを作成する Dim titleFont As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("Yu Mincho ",18f,FontStyle.Bold),True) Dim paraFont As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("Yu Mincho ",12f,FontStyle.Regular),True) 'PdfStringFormatクラスによるテキストの配置を設定する Dim format As PdfStringFormat = New PdfStringFormat() format.Alignment = PdfTextAlignment.Center 'ページにタイトルを描画する page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format) '.txtファイルから段落テキストを取得する Dim paraText As String = File.ReadAllText("content.txt") '段落内容を保存するPdfTextWidgetオブジェクトを作成する Dim widget As PdfTextWidget = New PdfTextWidget(paraText,paraFont,paraBrush) '段落の内容を配置する長方形を作成する Dim rect As RectangleF = New RectangleF(0,50,page.Canvas.ClientSize.Width,page.Canvas.ClientSize.Height) 'PdfLayoutTypeをPaginateに設定して内容を自動的にページング Dim layout As PdfTextLayout = New PdfTextLayout() lay.Layout = PdfLayoutType.Paginate 'ページに段落テキストを描画する widget.Draw(page, rect, layout) 'ファイルに保存する doc.SaveToFile("CreatePdfDocument.pdf") doc.Dispose() End Sub End Class End Namespace 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。