.NET で PDF にテーブルを作成および挿入する方法

.NET で PDF にテーブルを作成および挿入する方法

この記事では、Table Generator プラグインはテーブルの作成をスムーズにし、構造化された、スタイリッシュなタブレットを追加するのは簡単です - レポート、フォーム、またはダイナミックなコンテンツの自動化のために。

現実世界問題

PDF で手動で構造化されたテーブルを作成することは、特にダイナミックまたは大規模なデータで退屈です. .NET アプリケーション内でこのプロセスを自動化すると時間が節約され、一貫性を確保し、人間のエラーを減らします。

ソリューション概要

Aspose.PDF Table Generator for .NET では、開発者が PDF ドキュメントのどこでもテーブルを定義、フォーマット、挿入することを可能にします。

原則

  • Visual Studio 2019 以降
  • .NET 6.0 またはそれ以降
  • NuGet を介してインストールされた .NET のための Aspose.PDF
PM> Install-Package Aspose.PDF

ステップ・ステップ・実施

ステップ1:インストールおよび設定 Aspose.PDF

using Aspose.Pdf.Plugins;
using System.IO;

ステップ2:テーブルを作成し、PDFに追加する

// Create TableGenerator
var generator = new TableGenerator();
// Create TableOptions and add a demo table to the first page
var options = new TableOptions()
    .InsertPageAfter(1)  // Insert after first page (or .InsertPageBefore(pageNum))
    .AddTable()
        .AddRow()
            .AddCell().AddParagraph(new HtmlFragment("<b>Header 1</b>"))
            .AddCell().AddParagraph(new TextFragment("Header 2"))
        .AddRow()
            .AddCell().AddParagraph(new TextFragment("Row 1 Cell 1"))
            .AddCell().AddParagraph(new TeXFragment("$E=mc^2$", true));
// Add input/output file sources
options.AddInput(new FileDataSource(@"C:\Samples\input.pdf"));
options.AddOutput(new FileDataSource(@"C:\Samples\output_table.pdf"));
// Process
generator.Process(options);

使用ケース&アプリケーション(コード変数)

1. 特定のページの後または前にテーブルを追加する

テーブルをドキュメントに正確な場所に挿入する:

var options = new TableOptions()
    .InsertPageAfter(2)   // or .InsertPageBefore(3)
    .AddTable()
        .AddRow()
            .AddCell().AddParagraph(new TextFragment("After Page 2"));

2. データベースのダイナミックテーブル世代

コレクションを通して、ダイナミックな行や細胞を追加する:

var data = new[] { new[] { "A", "B" }, new[] { "C", "D" } };
var tableBuilder = new TableOptions().AddTable();
foreach (var row in data)
{
    var rowBuilder = tableBuilder.AddRow();
    foreach (var cell in row)
    {
        rowBuilder.AddCell().AddParagraph(new TextFragment(cell));
    }
}

あなたのテーブルの構造とプロセスの残りを通常のように追加します。

3. 細胞内の複数のコンテンツタイプのサポート

細胞には、テキスト、HTML、画像、またはTeX方程式が含まれます。

  • AddParagraph(new HtmlFragment("<b>Bold HTML</b>"))
  • AddParagraph(new TextFragment("Simple Text"))
  • AddParagraph(new TeXFragment("$a^2 + b^2 = c^2$", true))

4. 複数のテーブルまたは表のランキングを1つのPDFに追加する

チェーンは呼びかけます。 .AddTable() 複数のテーブルを単一の文書に挿入する。

5. Batch テーブルでレポートを生成する

PDFのパッケージを自動的に挿入するか、ファイルやデータソースを回転することによって複数のページのレポートを生成します。

共通の課題と解決策

チャレンジ: 正確なテーブルの配置またはオーバーラッピングコンテンツ●利用方法:使用方法 .InsertPageAfter(pageNum) または .InsertPageBefore(pageNum) 正確な位置づけのために. 調整のための予測結果。

課題:複雑、変数データソースソリューション: コードでダイナミックにテーブルを構築します。

チャレンジ: セルフォーマットまたはサポートされていないコンテンツソリューション: サポートされたコンテンツタイプ(テキスト、HtmlFragment、TeXFrage、イメージ)をタップします。

パフォーマンスと最良の実践

  • 大規模自動化前の出力予測
  • 変数の長さテーブルのためのダイナミックビルダーを使用する
  • チェーンテーブル/セル/ローの構造を簡素化するために
  • 処理前に入力PDFを有効にする

完全実施例

using Aspose.Pdf.Plugins;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        var generator = new TableGenerator();
        var options = new TableOptions()
            .InsertPageAfter(1)
            .AddTable()
                .AddRow()
                    .AddCell().AddParagraph(new HtmlFragment("<b>Header 1</b>"))
                    .AddCell().AddParagraph(new TextFragment("Header 2"))
                .AddRow()
                    .AddCell().AddParagraph(new TextFragment("Row 1 Cell 1"))
                    .AddCell().AddParagraph(new TeXFragment("$E=mc^2$", true));
        options.AddInput(new FileDataSource(@"C:\Samples\input.pdf"));
        options.AddOutput(new FileDataSource(@"C:\Samples\output_table.pdf"));
        generator.Process(options);
    }
}

結論

Aspose.PDF テーブル ジェネレーター for .NET は、開発者がプログラミング的に構築、スタイル、および PDF ドキュメントにタブレットを入力することを可能にします。

 日本語