チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.PDF for .NET»文書操作»C#/VB.NET:PDF ドキュメントを作成する方法
2023-06-09

C#/VB.NET:PDF ドキュメントを作成する方法

コードによる 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 軸は垂直に下に伸びています。クライアント領域に追加するすべての要素は、指定された座標に基づいている必要があります。

C#/VB.NET:PDF ドキュメントを作成する方法

さらに、次の表に重要なクラスと方法を示します。これは、以下のコードを理解しやすくするのに役立ちます。

クラスと方法 説明
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

C#/VB.NET:PDF ドキュメントを作成する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 2593 times