該頁面可以包含自動翻譯的文字。

用於 PDF 產生的 .NET 函式庫

使用佈局 API 產生 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.3.17105-dev 佈局附加元件 9.3.17105-dev
回歸測試 14,681 已通過 NuGet 總下載量 4,234,061

流暢的 API 建立 PDF

該附加元件提供了流暢的 API。 您可以將大多數呼叫連結在一起。 這使得程式碼比「聲明式」框架更緊湊。 您 仍然可以使用所有常規方法來開發程式碼。 例如,您可以使用輔助類別和方法中的可重複使用部分使佈局實作更 加簡潔。

如何用C#建立PDF文檔

好的,是時候舉一些例子了。

你好,PDF!

以下是一個簡單的範例,展示如何使用 Layout API 在 C# 中產生 PDF。 它會建立一個包含兩頁的文檔。 它有 點合成,但說明了 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 class 的實例。 使用該物件及其 Pages 方 法,可以定義一頁或多頁的佈局。

範例程式碼設定頁面大小並描述HeaderContentFooter槽中的內容。 所有這些插槽都具有相同的 LayoutContainer 類型LayoutContainer 是佈局 API 的關 鍵構建塊。 使用容器您可以產生任意佈局。

佈局引擎產生包含所有資料的頁面。 確切的數量取決於PageLayout.Content和其他插槽中的內容。 該庫在每 個頁面上重複HeaderFooter插槽的內容。 所有頁面都將具有相同的大小。

若要使頁面具有不同的佈局或不同的大小,請多次呼叫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 的方法。 我們鼓勵您閱讀以下文章: