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

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.17469-dev レイアウトアドオン 9.4.17469-dev
回帰テスト 14,760人が合格 NuGet の合計ダウンロード数 4,447,259

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 を生成するための多くの手段を提供します。 これらについては、次の記事を読む ことをお勧めします。