チュートリアル

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

チュートリアル»pdfnettable

Displaying items by tag: pdfnettable

PDF は、データの共有や記録に広く使われる人気のあるドキュメント形式です。特に PDF に含まれる表のデータを抽出する必要がある場面に出くわすことがあります。例えば、請求書の PDF に保存された表の中に有用な情報があり、そのデータを分析や計算に利用したい場合です。本記事では、Spire.PDF for .NET を使用して、PDF の表からデータを抽出し、それをテキストファイルや Excel ワークシートに保存する方法を紹介します。

Spire.PDF for .NET をインストールします

まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

C# で PDF 表データをテキストファイルに抽出する

Spire.PDF for .NET には、PdfTableExtractor.ExtractTable() メソッドがあり、PDF ページ上のすべての表を抽出することができます。このメソッドを使用して PDF ドキュメントから表を抽出した後、PdfTable.GetText() メソッドを使用して表の値を取得し、それをテキストファイルに書き出すことができます。PDF表データをテキストファイルに抽出する手順は以下の通りです:

  • PdfDocument オブジェクトを作成し、PdfDocument.LoadFromFile() メソッドで PDF ドキュメントを読み込みます。
  • 読み込んだ PDF ドキュメントに対して PdfTableExtractor オブジェクトを作成します。
  • PdfTableExtractor.ExtractTable() メソッドを使ってドキュメントの各ページにある表を抽出します。
  • 各表を順に処理します:
    • StringBuilder オブジェクトを作成し、表データを格納します。
    • 行と列をループして、Table.GetText() メソッドを使ってセルの値を取得し、それを StringBuilder オブジェクトに追加します。
    • 最終的に StringBuilder オブジェクトをテキストファイルに書き出します。
  • C#
using Spire.Pdf;
using Spire.Pdf.Utilities;
using System.Text;

namespace PDFTableToText
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentオブジェクトを作成し、PDFドキュメントをロード
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("Sample.pdf");

            // 読み込んだPDFのためのテーブルエクストラクターを初期化
            PdfTableExtractor tableExtractor = new PdfTableExtractor(pdf);

            // PDFの各ページを繰り返し処理
            for (int pageIndex = 0; pageIndex < pdf.Pages.Count; pageIndex++)
            {
                // 現在のページからテーブルを抽出
                PdfTable[] tables = tableExtractor.ExtractTable(pageIndex);
                if (tables != null)
                {
                    // 抽出された各テーブルを繰り返し処理
                    for (int tableIndex = 0; tableIndex < tables.Length; tableIndex++)
                    {
                        // StringBuilderオブジェクトを作成
                        StringBuilder stringBuilder = new StringBuilder();

                        // テーブルの各行と列を繰り返し処理
                        for (int rowIndex = 0; rowIndex < tables[tableIndex].GetRowCount(); rowIndex++)
                        {
                            for (int columnIndex = 0; columnIndex < tables[tableIndex].GetColumnCount(); columnIndex++)
                            {
                                // テーブルのセルテキストを取得し、改行を削除
                                string cellText = tables[tableIndex].GetText(rowIndex, columnIndex);
                                string text = cellText.Replace("\n", " ");
                                // StringBuilderオブジェクトにセルテキストを追加
                                if (columnIndex < tables[tableIndex].GetColumnCount() - 1)
                                {
                                    stringBuilder.Append(text + "");
                                }
                                else
                                {
                                    stringBuilder.Append(text);
                                }
                            }
                            // 各テーブル行のために行を切り替え
                            if (rowIndex < tables[tableIndex].GetRowCount() - 1)
                            {
                                stringBuilder.AppendLine();
                            }
                        }

                        // テーブル内容をテキストファイルに書き込み
                        string outputFilePath = $"output/Page{pageIndex + 1}_Table{tableIndex + 1}.txt";
                        File.WriteAllText(outputFilePath, stringBuilder.ToString());
                    }
                }
            }
        }
    }
}

C#:PDF ドキュメントから表を抽出する方法

C# で PDF 表データを Excel ファイルに抽出する

PDF 表のセルの値を上記と同様に取得し、Spire.XLS for .NET を使用して Excel ファイルに書き出すことができます。最初に Spire.XLS for .NET をインストールする必要があります:

PM> Install-Package Spire.XLS

PDF 表データを Excel ファイルに抽出する手順は以下の通りです:

  • PdfDocument オブジェクトを作成し、PdfDocument.LoadFromFile() メソッドで PDF ドキュメントを読み込みます。
  • Workbook オブジェクトを作成し、Workbook.Worksheets.Clear() メソッドでデフォルトのワークシートをクリアします。
  • 読み込んだ PDF ドキュメントに対して PdfTableExtractor オブジェクトを作成します。
  • PdfTableExtractor.ExtractTable() メソッドを使ってドキュメントの各ページにある表を抽出します。
  • 各表を順に処理します:
    • 表ごとに Workbook にワークシートを追加します。
    • 行と列をループして、Table.GetText() メソッドを使ってセルの値を取得し、Worksheet.Range[].Text プロパティを通じて対応する位置に挿入します。
    • セルの書式を設定します。
  • 最後に Workbook.SaveToFile() メソッドを使ってワークブックを保存します。
  • C#
using Spire.Pdf;
using Spire.Pdf.Utilities;
using Spire.Xls;
using System.Text;

namespace PDFTableToText
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentオブジェクトを作成し、PDFドキュメントをロード
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("Sample.pdf");

            // Workbookオブジェクトを作成
            Workbook workbook = new Workbook();
            // デフォルトのワークシートをクリア
            workbook.Worksheets.Clear();

            // 読み込んだPDFのためのテーブルエクストラクターを初期化
            PdfTableExtractor tableExtractor = new PdfTableExtractor(pdf);

            // PDFの各ページを繰り返し処理
            for (int pageIndex = 0; pageIndex < pdf.Pages.Count; pageIndex++)
            {
                // 現在のページからテーブルを抽出
                PdfTable[] tables = tableExtractor.ExtractTable(pageIndex);
                if (tables != null)
                {
                    // ページ上の各抽出されたテーブルを繰り返し処理
                    for (int tableIndex = 0; tableIndex < tables.Length; tableIndex++)
                    {
                        // ワークブックにワークシートを追加
                        Worksheet sheet = workbook.Worksheets.Add($"Page{pageIndex + 1}-Table{tableIndex + 1}");

                        // テーブル内の各行と列を繰り返し処理
                        for (int rowIndex = 0; rowIndex < tables[tableIndex].GetRowCount(); rowIndex++)
                        {
                            for (int columnIndex = 0; columnIndex < tables[tableIndex].GetColumnCount(); columnIndex++)
                            {
                                // テーブルからセルテキストを取得し、改行を削除
                                string cellText = tables[tableIndex].GetText(rowIndex, columnIndex);
                                string text = cellText.Replace("\n", "");
                                // ワークシートの対応する位置にセルテキストを挿入
                                sheet.Range[rowIndex + 1, columnIndex + 1].Text = text;
                            }
                        }

                        // テーブルヘッダのフォーマットを設定
                        sheet.Rows[0].Style.Font.FontName = "Yu Gothic UI";
                        sheet.Rows[0].Style.Font.Size = 12;
                        sheet.Rows[0].Style.Font.IsBold = true;
                        sheet.Rows[0].Style.HorizontalAlignment = HorizontalAlignType.Center;
                        // データ行のフォーマットを設定
                        for (int rowIndex = 1; rowIndex < sheet.Rows.Length; rowIndex++)
                        {
                            sheet.Rows[rowIndex].Style.Font.FontName = "Yu Gothic UI";
                            sheet.Rows[0].Style.Font.Size = 12;
                            sheet.Rows[0].Style.HorizontalAlignment = HorizontalAlignType.Left;
                        }
                        // 各列を自動調整
                        for (int columnIndex = 1; columnIndex <= sheet.Columns.Length; columnIndex++)
                        {
                            sheet.AutoFitColumn(columnIndex);
                        }
                    }
                }
            }

            // ワークブックを保存
            workbook.SaveToFile("PDFTableToExcel.xlsx", Spire.Xls.FileFormat.Version2016);
            pdf.Close();
            workbook.Dispose();
        }
    }
}

C#:PDF ドキュメントから表を抽出する方法

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

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

Published in
Tagged under

表は、データを表示するための一般的な方法です。行と列で表示されるデータに、読み手が素早く効率的にアクセスすることができます。表形式で表示されたデータは、通常のテキストよりも読者に深い印象を与えます。また、読者はデータを比較したり、データ間の関係を理解したりすることが容易になります。この記事では、Spire.PDF for .NET を使用して PDF ドキュメントに表を作成する方法について説明します。

Spire.PDF for .NET は、PDF ドキュメントの表を扱うために PdfTablePdfGrid クラスを提供しています。PdfTable クラスは、書式を少なくした簡単な表を作成するために使用することができます。また、PdfGrid クラスは、複雑な表を作成するために使用することができます。

この2つのクラスの違いは以下のとおりです。

PdfTable PdfGrid
書式
イベント経由で設定可能、API は未対応。 API 経由で設定可能。
API 経由で設定可能(StringFormat)。 API 経由で設定可能(StringFormat)。
セル イベント経由で設定可能、API は未対応。 API 経由で設定可能。
その他
水平方向のセルの結合 未対応。 API経由で設定可能。
垂直方向のセルの結合 イベント経由で設定可能、API は未対応。 API経由で設定可能。
ネストされた表 イベント経由で設定可能、API は未対応。 API経由で設定可能。
イベント BeginCellLayout,  EndCellLayout, BeginRowLayout, EndRowLayout, BeginPageLayout, EndPageLayout. BeginPageLayout, EndPageLayout

以下の2つのセクションでは、PdfTablePdfGrid クラスを使用して、それぞれ PDF ドキュメントに表を作成する方法について説明します。

Spire.PDF for .NET をインストールします

まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

PdfTable クラスを使用して表を作成する

以下は、PdfTable クラスを使用して、表を作成する詳細な操作の手順です。

  • PdfDocument のオブジェクトを作成します。
  • PdfDocument.Pages.Add() メソッドを使用して、ページを追加します。
  • PdfTable のオブジェクトを作成します。
  • PdfTable を通して表のスタイルを設定します。
  • PdfTable を通して表にデータを挿入します。
  • BeginRowLayout イベントで、表の行の高さと色を設定します。
  • Draw() メソッドを使用して、ページ上に表を描画します。
  • SaveToFile() メソッドを使用して、ドキュメントを保存します。
  • C#
  • VB.NET
using System;
using System.Data;
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Tables;

namespace CreateTable
{
    class Program
    {
        static void Main(string[] args)
        {
            //PdfDocumentのオブジェクトを作成する
            PdfDocument doc = new PdfDocument();

            //ページを追加する
            PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(40));

            //PdfTableのオブジェクトを作成する
            PdfTable table = new PdfTable();

            //表のヘッダーや他のセルのフォントを設定する
            table.Style.DefaultStyle.Font = new PdfTrueTypeFont(new Font("Yu Mincho", 12f, FontStyle.Regular), true);
            table.Style.HeaderStyle.Font = new PdfTrueTypeFont(new Font("Yu Mincho", 12f, FontStyle.Bold), true);

            //DataTableオブジェクトを作成する
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("番号");
            dataTable.Columns.Add("名前");
            dataTable.Columns.Add("部門");
            dataTable.Columns.Add("職位");
            dataTable.Columns.Add("レベル");
            dataTable.Rows.Add(new string[] { "1", "鈴木 賢", "情報部門", "マネージャー", "1" });
            dataTable.Rows.Add(new string[] { "3", "中村 佑美", "人事部門", "マネージャー", "1" });
            dataTable.Rows.Add(new string[] { "4", "宇田川 希恵", "営業部門", "マネージャー", "1" });
            dataTable.Rows.Add(new string[] { "7", "野口 翔", "営業部門", "営業担当者", "2" });
            dataTable.Rows.Add(new string[] { "9", "大野 良二", "人事部門", "人事部長", "2" });
            dataTable.Rows.Add(new string[] { "11", "川口 美紀", "開発部門", "開発スタッフ", "2" });

            //表のデータソースとしてDataTableのオブジェクトを設定する
            table.DataSource = dataTable;

            //表のヘッダーを表示するように設定します(デフォルトではヘッダーは非表示です)
            table.Style.ShowHeader = true;

            //表のヘッダー行の文字色と背景色を設定する
            table.Style.HeaderStyle.BackgroundBrush = PdfBrushes.Gray;
            table.Style.HeaderStyle.TextBrush = PdfBrushes.White;

            //表のヘッダー行のテキストアライメントを設定する
            table.Style.HeaderStyle.StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);

            //他のセルのテキストアライメントを設定する
            for (int i = 0; i < table.Columns.Count; i++)
            {
                table.Columns[i].StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
            }

            //BeginRowLayoutイベントに対応
            table.BeginRowLayout += Table_BeginRowLayout;

            //ページ上に表を描画する
            table.Draw(page, new PointF(0, 30));

            //ドキュメントを保存する
            doc.SaveToFile("PdfTable.pdf");
        }

        //イベント処理
        private static void Table_BeginRowLayout(object sender, BeginRowLayoutEventArgs args)
        {
            //行の高さを設定する
            args.MinimalHeight = 20f;

            //行の背景色を設定する
            if (args.RowIndex < 0)
            {
                return;
            }
            if (args.RowIndex % 2 == 1)
            {
                args.CellStyle.BackgroundBrush = PdfBrushes.LightGray;
            }
            else
            {
                args.CellStyle.BackgroundBrush = PdfBrushes.White;
            }
        }
    }
}
Imports System
Imports System.Data
Imports System.Drawing
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports Spire.Pdf.Tables

Namespace CreateTable
    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(40))

            'PdfTableのオブジェクトを作成する
            Dim table As PdfTable = New PdfTable()

            '表のヘッダーや他のセルのフォントを設定する
            table.Style.DefaultStyle.Font = New PdfTrueTypeFont(New Font("Yu Mincho", 12.0F, FontStyle.Regular), True)
            table.Style.HeaderStyle.Font = New PdfTrueTypeFont(New Font("Yu Mincho", 12.0F, FontStyle.Bold), True)

            'DataTableオブジェクトを作成する
            Dim dataTable As DataTable = New DataTable()
            dataTable.Columns.Add("番号")
            dataTable.Columns.Add("名前")
            dataTable.Columns.Add("部門")
            dataTable.Columns.Add("職位")
            dataTable.Columns.Add("レベル")
            Dim String() As DataTable.Rows.Add(New
            {
            	 "1", "鈴木 賢", "情報部門", "マネージャー", "1" 
            }
)
            Dim String() As DataTable.Rows.Add(New
            {
            	 "3", "中村 佑美", "人事部門", "マネージャー", "1" 
            }
)
            Dim String() As DataTable.Rows.Add(New
            {
            	 "4", "宇田川 希恵", "営業部門", "マネージャー", "1" 
            }
)
            Dim String() As DataTable.Rows.Add(New
            {
            	 "7", "野口 翔", "営業部門", "営業担当者", "2" 
            }
)
            Dim String() As DataTable.Rows.Add(New
            {
            	 "9", "大野 良二", "人事部門", "人事部長", "2" 
            }
)
            Dim String() As DataTable.Rows.Add(New
            {
            	 "11", "川口 美紀", "開発部門", "開発スタッフ", "2" 
            }
)
 
            '表のデータソースとしてDataTableのオブジェクトを設定する
            table.DataSource = dataTable

            '表のヘッダーを表示するように設定します(デフォルトではヘッダーは非表示です)
            table.Style.ShowHeader = True

            '表のヘッダー行の文字色と背景色を設定する
            table.Style.HeaderStyle.BackgroundBrush = PdfBrushes.Gray
            table.Style.HeaderStyle.TextBrush = PdfBrushes.White

            '表のヘッダー行のテキストアライメントを設定する
            table.Style.HeaderStyle.StringFormat = New PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle)

            '他のセルのテキストアライメントを設定する
            Dim i As Integer
            For i = 0 To table.Columns.Count - 1 Step i + 1
                table.Columns(i).StringFormat = New PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle)
            Next

            'BeginRowLayoutイベントに対応
            table.BeginRowLayout += Table_BeginRowLayout()

            'ページ上に表を描画する
            table.Draw(page, New PointF(0, 30))

            'ドキュメントを保存する
            doc.SaveToFile("PdfTable.pdf")
        End Sub

        'イベント処理
        Private Shared Sub Table_BeginRowLayout(ByVal sender As Object, ByVal args As BeginRowLayoutEventArgs)
            '行の高さを設定する
            args.MinimalHeight = 20.0F

            '行の背景色を設定する
            If args.RowIndex < 0 Then
                Return
            End If
            If args.RowIndex % 2 = 1 Then
                args.CellStyle.BackgroundBrush = PdfBrushes.LightGray
            Else
                args.CellStyle.BackgroundBrush = PdfBrushes.White
            End If
        End Sub
    End Class
End Namespace

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

PdfGrid クラスを使用して表を作成する

以下は、PdfGrid クラスを使用してテーブルを作成するための詳細な手順です。

  • PdfDocument のオブジェクトを作成します。
  • PdfDocument.Pages.Add() メソッドを使用して、ページを追加します。
  • PdfGrid のオブジェクトを作成します。
  • PdfGrid.Style プロパティを使って表のスタイルを設定します。
  • PdfGrid.Rows.Add() メソッドを使用して、表に行を追加します。
  • PdfGridRow.Cells[index].Value プロパティを使って、指定したセルにデータを挿入します。
  • PdfGridRow.RowSpan または PdfGridRow.ColumnSpan プロパティを使用してセルを垂直方向または水平方向に結合します。
  • PdfGridRow.Cells[index].StringFormatPdfGridRow.Cells[index].Style プロパティを使用して、指定したセルの書式を設定します。
  • PdfGrid.Draw() メソッドを使用して、ページ上に表を描画します。
  • PdfDocument.SaveToFile() メソッドを使用して、ドキュメントを保存します。
  • C#
  • VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Grid;
using System.Drawing;

namespace CreateGrid
{
    class Program
    {
        static void Main(string[] args)
        {
            //PdfDocumentのオブジェクトを作成する
            PdfDocument doc = new PdfDocument();

            //ページを追加する
            PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(40));

            //PdfGridのオブジェクトを作成する
            PdfGrid grid = new PdfGrid();

            //セルのパディングを設定する
            grid.Style.CellPadding = new PdfPaddings(1, 1, 1, 1);

            //フォントを設定する
            grid.Style.Font = new PdfTrueTypeFont(new Font("Yu Mincho", 13f, FontStyle.Regular), true);

            //行を追加する
            PdfGridRow row1 = grid.Rows.Add();
            PdfGridRow row2 = grid.Rows.Add();
            PdfGridRow row3 = grid.Rows.Add();
            PdfGridRow row4 = grid.Rows.Add();
            grid.Columns.Add(4);

            //列の幅を設定する
            foreach (PdfGridColumn col in grid.Columns)
            {
                col.Width = 110f;
            }

            //特定のセルにデータを書き込む
            row1.Cells[0].Value = "注文・入金状況";
            row2.Cells[0].Value = "注文番号";
            row2.Cells[1].Value = "日付";
            row2.Cells[2].Value = "お客様名";
            row2.Cells[3].Value = "支払い完了の有無";
            row3.Cells[0].Value = "00223";
            row3.Cells[1].Value = "2022/06/02";
            row3.Cells[2].Value = "Neighbors Technology";
            row3.Cells[3].Value = "支払い完了";
            row4.Cells[0].Value = "00224";
            row4.Cells[1].Value = "2022/06/03";
            row4.Cells[3].Value = "支払い未了";

            //水平方向にセルを結合する
            row1.Cells[0].ColumnSpan = 4;

            //垂直方向にセルを結合する
            row3.Cells[2].RowSpan = 2;

            //指定したセルのテキストアライメントを設定する
            row1.Cells[0].StringFormat = new PdfStringFormat(PdfTextAlignment.Center);
            row3.Cells[2].StringFormat = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle);

            //指定したセルの背景色を設定する
            row1.Cells[0].Style.BackgroundBrush = PdfBrushes.Orange;
            row4.Cells[3].Style.BackgroundBrush = PdfBrushes.LightGray;

            //枠線の形式を設定する
            PdfBorders borders = new PdfBorders();
            borders.All = new PdfPen(Color.Orange, 0.8f);
            foreach (PdfGridRow pgr in grid.Rows)
            {
                foreach (PdfGridCell pgc in pgr.Cells)
                {
                    pgc.Style.Borders = borders;
                }
            }

            //ページ上の表を描画する
            grid.Draw(page, new PointF(0, 30));

            //ドキュメントを保存する
            doc.SaveToFile("PdfGrid.pdf");
        }
    }
}
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports Spire.Pdf.Grid
Imports System.Drawing

Namespace CreateGrid
    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(40))

            'PdfGridのオブジェクトを作成する
            Dim grid As PdfGrid = New PdfGrid()

            'セルのパディングを設定する
            grid.Style.CellPadding = New PdfPaddings(1, 1, 1, 1)

            'フォントを設定する
            grid.Style.Font = New PdfTrueTypeFont(New Font("Yu Mincho", 13.0F, FontStyle.Regular), True)

            '行を追加する
            Dim row1 As PdfGridRow = grid.Rows.Add()
            Dim row2 As PdfGridRow = grid.Rows.Add()
            Dim row3 As PdfGridRow = grid.Rows.Add()
            Dim row4 As PdfGridRow = grid.Rows.Add()
            grid.Columns.Add(4)

            '列の幅を設定する
            Dim col As PdfGridColumn
            For Each col In grid.Columns
                col.Width = 110.0F
            Next

            '特定のセルにデータを書き込む
            row1.Cells(0).Value = "注文・入金状況"
            row2.Cells(0).Value = "注文番号"
            row2.Cells(1).Value = "日付"
            row2.Cells(2).Value = "お客様名"
            row2.Cells(3).Value = "支払い完了の有無"
            row3.Cells(0).Value = "00223"
            row3.Cells(1).Value = "2022/06/02"
            row3.Cells(2).Value = "Neighbors Technology"
            row3.Cells(3).Value = "支払い完了"
            row4.Cells(0).Value = "00224"
            row4.Cells(1).Value = "2022/06/03"
            row4.Cells(3).Value = "支払い未了"

            '水平方向にセルを結合する
            row1.Cells(0).ColumnSpan = 4

            '垂直方向にセルを結合する
            row3.Cells(2).RowSpan = 2

            '指定したセルのテキストアライメントを設定する
            row1.Cells(0).StringFormat = New PdfStringFormat(PdfTextAlignment.Center)
            row3.Cells(2).StringFormat = New PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle)

            '指定したセルの背景色を設定する
            row1.Cells(0).Style.BackgroundBrush = PdfBrushes.Orange
            row4.Cells(3).Style.BackgroundBrush = PdfBrushes.LightGray

            '枠線の形式を設定する
            Dim borders As PdfBorders = New PdfBorders()
            borders.All = New PdfPen(Color.Orange, 0.8F)
            Dim pgr As PdfGridRow
            For Each pgr In grid.Rows
                Dim pgc As PdfGridCell
                For Each pgc In pgr.Cells
                    pgc.Style.Borders = borders
                Next
            Next

            'ページ上の表を描画する
            grid.Draw(page, New PointF(0, 30))

            'ドキュメントを保存する
            doc.SaveToFile("PdfGrid.pdf")
        End Sub
    End Class
End Namespace

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

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

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

Published in
Tagged under