このページには自動翻訳されたテキストを含めることができます。

PDF生成用の.NETライブラリ

必要に応じて複雑または単純な PDF ファイルを作成できるレイアウト API を使用して PDF ドキュメントを生 成します。 Fluent API を使用してコードでドキュメントのレイアウトを記述します。 ページングをサポート する強力な C# PDF ジェネレーターが残りの作業を行います。

完璧なドキュメントを取得するには、C# または VB.NET コードの構成要素として構造要素を使用します。 要 素とは、ページ、コンテナ、テーブル、段落、画像、リンクなどです。 ライブラリはドキュメントのコンテン ツを自動的にページに分割します。 ページのヘッダーとフッターを追加できます。 API はカスタムの再利用 可能なコンポーネントをサポートします。 Layout API は、目次やウォーターマークなどの組み込みコンポー ネントを提供します。

PDF生成ライブラリ

レイアウト API は、Docotic.Pdf ライブラリの無料のアドオンとして利用できます。 ライブラリとアドオン はどちらも 100% マネージ コード DLL です。 サードパーティの外部依存関係はありません。 API を使用す ると、Windows、Linux、Amazon、Azure クラウド環境で PDF ドキュメントを作成できます。 macOS、iOS、Androidでも大丈夫です。

Docotic.Pdf および Layout アドオンは、NuGet および当社のサイトから入手できます。 評価モード制 限なしでライブラリを試すには、ライブラリ ページで、期間限定の無料ラ イセンス キーを取得します。

Docotic.Pdf ライブラリ 9.4.17342 レイアウトアドオン 9.4.17342
回帰テスト 14,727人が合格 NuGet の合計ダウンロード数 4,260,602

PDF を作成するための Fluent API

このアドオンは流暢な API を提供します。 ほとんどの呼び出しを連鎖させることができます。 これによ り、「宣言型」フレームワークよりもコードがコンパクトになります。 コード開発には通常のアプローチをす べて使用できます。 たとえば、ヘルパー クラスとメソッドの再利用可能な部分を使用して、レイアウトの実 装をより簡潔にすることができます。

C#でPDFドキュメントを作成する方法

さて、いくつかの例を見てみましょう。

こんにちは、PDF!

以下は、Layout API を使用して C# で PDF を生成する方法を示す簡単な例です。 2 ページのドキュメントを 作成します。 これは合成的なものですが、API の動作方法を示しています。

PdfDocumentBuilder.Create().Generate("pages.pdf", doc =>
{
    doc.Pages((PageLayout page) =>
    {
        page.Size(PdfPaperSize.A5);

        page.Header().PaddingTop(70).AlignCenter().Text("Hello, PDF!");

        page.Content().Column(c =>
        {
            for (int i = 0; i < 10; i++)
                c.Item().AlignCenter().Text($"Page 1 block {i + 1}");

            c.Item().PageBreak();
            c.Item().Text("Page 2");
        });

        page.Footer().Text(t => t.CurrentPageNumber());
    });
});

PdfDocumentBuilder.Generate メソッド は、Document クラス のインスタンスを提供します。 オブジェクトと その Pages メソッド を使用すると、1 つ以上のページのレイ アウトを定義できます。

サンプルコードではページサイズを設定し、HeaderContentFooterスロットに内容を記述します。こ れらのスロットはすべて同じ LayoutContainer タイプ を持ち ます。 LayoutContainer は、レイアウト API の重要な構成要素です。 コンテナを使用すると、任意のレイ アウトを生成できます。

レイアウト エンジンは、すべてのデータを含むページを生成します。 正確な数は、PageLayout.Content お よびその他のスロットのコンテンツによって異なります。 ライブラリは、Header スロットと Footer ス ロットの内容を各ページで繰り返します。 すべてのページが同じサイズになります。

異なるレイアウトまたは異なるサイズのページを使用するには、Pages メソッドを複数回呼び出します。

C# でテキスト PDF を作成する

一般的なタスクは、テキスト文字列を PDF ファイルに変換することです。 次のコードは、レイアウト API を 使用して、C# でテキスト ファイルから PDF ドキュメントを作成します。

PdfDocumentBuilder
    .Create()
    .Generate("long-text.pdf", doc => doc.Pages(page =>
    {
        string text = File.ReadAllText(@"PDF_Succinctly.txt");
        page.Content().Text(text);
    }));

コードはファイルからすべてのテキストを読み取り、それを Content スロットに使用します。 サイズを計 算したり、テキスト文字列をチャンクに分割したりする必要はありません。 Layout アドオンはこれらすべて のタスクを処理します。 API を使用すると、C# コードでテキストを PDF に簡単に変換できます。

.NET で PDF を暗号化する

暗号化された PDF を生成するには、次の C# コード例のような暗号化ハンドラーを使用します。

PdfDocumentBuilder
    .Create()
    .Encryption(new PdfStandardEncryptionHandler("owner", "user"))
    .Generate("encrypted-with-password.pdf", doc => doc.Pages(page =>
    {
        // ここにページコンテンツをレイアウトします
    }));

ライブラリは、ユーザーと所有者のパスワードで暗号化された PDF を生成します。 暗号化されたドキュメン トのユーザーに対して PDF アクセス許可を指定 することができます。 PDF を証明 書で保護することもできます。

参考文献

Layout API は、C# で PDF を生成するための多くの手段を提供します。 これらについては、次の記事を読む ことをお勧めします。