跳過到頁腳內容
使用IRONPDF

在C# .NET中程式庫中製作PDF

使用 IronPDF 的.NET庫,只需一行程式碼即可在 C# 中建立 PDF,該程式庫透過內建的渲染功能和輕鬆的 Visual Studio 集成,簡化了從 HTML 字串、URL 或表單生成 PDF 的過程。

有了正確的指導,使用 C# .NET庫建立 PDF 文件既簡單又有效率。 使用IronPDF,您可以根據應用程式的需求,以簡單的方式建立和編輯 PDF 功能。 本教學範例展示如何在專案中有效使用該軟體,只需單擊一個按鈕即可建立 PDF!

## PDF .NET函式庫
  • 安裝IronPDF C# .NET庫
  • 用一行程式碼在 C# 中建立 PDF
  • 一鍵將表單轉換為 PDF

步驟 1

如何安裝 C# PDF 函式庫.NET?

進入圖書館主要有兩種方式:

  1. Download and unpack the [IronPDF Package](https://ironpdf.com/packages/IronPdf.zip) DLL file
  2. Navigate to [NuGet](https://www.nuget.org/packages/IronPdf) and install the package via Visual Studio.

對於學習.NET PDF 產生的初學者來說, NuGet套件管理器提供了最簡單的安裝方法。 它會自動處理依賴關係,並確保您使用的是最新的穩定版本。 安裝概述為各種開發環境提供了詳細指導。


我該選擇哪一種安裝方式?

# Use the NuGet package manager to install IronPDF
nuget install IronPdf
# Use the NuGet package manager to install IronPDF
nuget install IronPdf
SHELL

NuGet是大多數開發人員推薦的方法,尤其是那些剛接觸.NET開發的開發人員。 它與 Visual Studio 和其他 IDE 無縫集成,非常適合用C# 建立 PDF 。 軟體套件管理器會自動處理所有複雜的配置,包括:

  • 依賴關係解析和版本相容性
  • 適用於WindowsLinuxMac的特定平台二進位文件
  • 透過 Visual Studio 的套件管理器自動更新
  • 與專案建置流程集成

常見的安裝問題有哪些?

安裝IronPDF時,開發人員有時會遇到一些常見的挑戰。 故障排除指南涵蓋了大多數情況,但以下是最常見的幾種情況:

1.缺少 Visual C++ 執行時間: IronPDF需要 Visual C++ 可重複發行組件。 如果發生缺少 DLL 檔案的錯誤,請從 Microsoft 安裝最新的 Visual C++ 執行階段程式庫。

2.防火牆阻止NuGet :企業環境可能會阻止NuGet。 在這種情況下,您可以下載離線安裝套件並手動安裝。

3.平台不符:確保您的專案面向正確的平台(x86、x64 或 AnyCPU)。 IronPDF最好針對特定平台進行最佳化,而不是使用 AnyCPU。

為什麼要使用NuGet而不是手動安裝?

對於學習HTML 轉 PDF 的開發人員來說, NuGet提供了以下幾個優勢:

-自動更新:自動取得安全性修補程式和新功能 -版本控制:如有需要,可輕鬆回滾到先前的版本 -團隊協作:所有開發人員都獲得相同的軟體包版本 -建立伺服器相容性:與 CI/CD 管線無縫協作 -軟體包恢復:建置時自動下載缺少的軟體包

NuGet套件文件為特定場景(例如Azure 部署Docker 容器)提供了進階設定選項。


操作指南

如何使用 PDF .NET函式庫?

C# 程式語言標誌 - 紫色六角形徽章,上面有白色的
漸層色的V形箭頭(從紫色到藍綠色)指示PDF轉換工作流程方向
設計與測量工具圖示 - 黑色鋼筆與藍色尺子交叉,用於 PDF 註釋功能
IronPDF中表示文件轉換過程的多色 V 形箭頭
Adobe PDF 文件圖標,顯示.NET應用程式中使用的標準 PDF 文件格式

現在我們有了這款軟體,我們可以產生 PDF 文件調整設置,添加自訂文字和圖像,並修改 PDF 文件以滿足我們的專案需求。 IronPDF提供全面的功能,可用於建立新的 PDF編輯現有的 PDF ,甚至可以將各種格式(如圖像到 PDFXML 到 PDF)進行轉換。

ChromePdfRenderer 的作用是什麼?

在下面的程式碼中,我們使用 C# 窗體來示範如何使用 C# .NET程式庫建立 PDF。 在這個例子中,我們可以使用 TextBox 來編寫我們自己的文本,然後點擊一個按鈕即可產生 PDF。 類別 ChromePdfRenderer 提供了一種最簡單的方法,可以從不同的來源產生 PDF 文件,包括HTML 字串網頁 URL另一個渲染器下的 doc 文件

ChromePdfRenderer是 IronPDF 渲染引擎的核心。它採用與 Google Chrome 相同的技術,確保您的 PDF 檔案在現代網頁瀏覽器中的顯示效果與在瀏覽器中完全一致。 這意味著全面支持:

如何處理PDF產生過程中的錯誤?

錯誤處理對於可靠地產生PDF文件至關重要。 IronPDF提供詳細的異常信息,有助於快速識別問題。 以下是一種具有錯誤處理功能的穩健的 PDF 生成方法:

using IronPdf;
using System;
using System.IO;

public class PdfGenerator
{
    public static bool CreatePdfSafely(string htmlContent, string outputPath)
    {
        try
        {
            var renderer = new ChromePdfRenderer();

            // Configure rendering options for better results
            renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
            renderer.RenderingOptions.MarginTop = 20;
            renderer.RenderingOptions.MarginBottom = 20;
            renderer.RenderingOptions.PrintHtmlBackgrounds = true;

            // Generate the PDF
            var pdf = renderer.RenderHtmlAsPdf(htmlContent);

            // Ensure directory exists
            string directory = Path.GetDirectoryName(outputPath);
            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }

            // Save the PDF
            pdf.SaveAs(outputPath);

            return true;
        }
        catch (Exception ex)
        {
            // Log the error (you can use your preferred logging framework)
            Console.WriteLine($"PDF generation failed: {ex.Message}");
            return false;
        }
    }
}
using IronPdf;
using System;
using System.IO;

public class PdfGenerator
{
    public static bool CreatePdfSafely(string htmlContent, string outputPath)
    {
        try
        {
            var renderer = new ChromePdfRenderer();

            // Configure rendering options for better results
            renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
            renderer.RenderingOptions.MarginTop = 20;
            renderer.RenderingOptions.MarginBottom = 20;
            renderer.RenderingOptions.PrintHtmlBackgrounds = true;

            // Generate the PDF
            var pdf = renderer.RenderHtmlAsPdf(htmlContent);

            // Ensure directory exists
            string directory = Path.GetDirectoryName(outputPath);
            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }

            // Save the PDF
            pdf.SaveAs(outputPath);

            return true;
        }
        catch (Exception ex)
        {
            // Log the error (you can use your preferred logging framework)
            Console.WriteLine($"PDF generation failed: {ex.Message}");
            return false;
        }
    }
}
$vbLabelText   $csharpLabel

對於更進階的錯誤情況,請參閱故障排除指南,其中涵蓋了記憶體管理渲染延遲等常見問題。

何時應該使用 HTML 渲染,何時應該直接建立 PDF?

了解何時使用 HTML 渲染,何時直接建立 PDF,有助於您選擇正確的方法。 IronPDF在 HTML 渲染方面表現出色,因為它具備以下優勢:

HTML渲染優勢:

  • 利用現有的網站開發技能
  • 使用熟悉的 CSS 進行樣式設置
  • 易於響應的設計,並帶有視口設置 -支援JavaScript的動態內容 快速原型製作與迭代

何時使用 HTML 渲染:

直接操作 PDF 檔案更適合以下情況:

// C# Program to create PDF from TextBox input using IronPDF
using IronPdf;
using System.Windows.Forms;

namespace readpdf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Event handler for the button click
        private void button1_Click(object sender, System.EventArgs e)
        {
            // Create a ChromePdfRenderer object to convert HTML to PDF
            var HtmlLine = new ChromePdfRenderer();

            // Retrieve the text from the TextBox
            string text = textBox1.Text;

            // Render the HTML as a PDF, wrapping the text in an <h1> tag
            using var pdf = HtmlLine.RenderHtmlAsPdf("<h1>" + text + "</h1>");

            // Save the PDF to a file called "custom.pdf"
            pdf.SaveAs("custom.pdf");

            // Show a confirmation message to the user
            MessageBox.Show("Done!");
        }
    }
}
// C# Program to create PDF from TextBox input using IronPDF
using IronPdf;
using System.Windows.Forms;

namespace readpdf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Event handler for the button click
        private void button1_Click(object sender, System.EventArgs e)
        {
            // Create a ChromePdfRenderer object to convert HTML to PDF
            var HtmlLine = new ChromePdfRenderer();

            // Retrieve the text from the TextBox
            string text = textBox1.Text;

            // Render the HTML as a PDF, wrapping the text in an <h1> tag
            using var pdf = HtmlLine.RenderHtmlAsPdf("<h1>" + text + "</h1>");

            // Save the PDF to a file called "custom.pdf"
            pdf.SaveAs("custom.pdf");

            // Show a confirmation message to the user
            MessageBox.Show("Done!");
        }
    }
}
$vbLabelText   $csharpLabel

如何將 C# 表單轉換為 PDF?

我們使用 C# Windows Forms 應用程式向您展示了帶有自訂文字的完美輸出效果。 只需單擊一下,TextBox 中的文字即可轉換為自訂 PDF。 這只需要一行程式碼,而且很容易理解。 對於更複雜的場景,您可能需要探索 MVC 應用程式的CSHTML 到 PDF 轉換或現代 Web 應用程式的Blazor PDF 生成

為什麼這種單擊式方法有效?

單擊方法之所以有效,是因為IronPDF在內部處理了所有複雜的渲染。 當您呼叫 RenderHtmlAsPdf() 時, IronPDF:

1.初始化 Chrome 引擎:使用與 Chrome 瀏覽器相同的渲染引擎 2.處理 HTML :解析 HTML 字串並套用任何內聯樣式 3.渲染為 PDF :將渲染後的內容轉換為 PDF 格式 4.最佳化輸出:應用壓縮和最佳化

IronPDF 的簡潔性使其成為需要快速結果的快速開發場景的理想選擇。 此函式庫可自動處理字型管理影像嵌入,甚至JavaScript執行

我可以匯出為哪些文件格式?

雖然 PDF 是主要輸出格式,但IronPDF也支援各種匯出和轉換選項:

此外, IronPDF還可以從各種來源匯入資料:

如何自訂PDF輸出?

IronPDF透過RenderingOptions類提供豐富的自訂選項。 以下是一個展示常見自訂設定的範例:

using IronPdf;

// Create renderer with custom settings
var renderer = new ChromePdfRenderer();

// Page setup options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

// Margins (in millimeters)
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Header and footer configuration
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<div style='text-align: center;'>{page} of {total-pages}</div>",
    DrawDividerLine = true
};

// Additional options
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.GrayScale = false;
renderer.RenderingOptions.Zoom = 100;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Apply custom CSS for print
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Generate PDF with all customizations
var pdf = renderer.RenderHtmlAsPdf("<h1>Customized PDF Output</h1>");
pdf.SaveAs("customized.pdf");
using IronPdf;

// Create renderer with custom settings
var renderer = new ChromePdfRenderer();

// Page setup options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

// Margins (in millimeters)
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Header and footer configuration
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<div style='text-align: center;'>{page} of {total-pages}</div>",
    DrawDividerLine = true
};

// Additional options
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.GrayScale = false;
renderer.RenderingOptions.Zoom = 100;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Apply custom CSS for print
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Generate PDF with all customizations
var pdf = renderer.RenderHtmlAsPdf("<h1>Customized PDF Output</h1>");
pdf.SaveAs("customized.pdf");
$vbLabelText   $csharpLabel

如需更多進階自訂設置,請探索: -自訂紙張尺寸 -頁首和頁尾 背景和前景 頁碼 水印

C# 表單

~ PDF ~


圖書館快速訪問

Documentation related to 圖書館快速訪問
### 分享 API 參考

Read through and share the API Reference for all the functionality you need to work with PDFs in your .NET project. The comprehensive documentation covers everything from basic [PDF creation](https://ironpdf.com/tutorials/csharp-create-pdf-complete-tutorial/) to advanced features like [digital signatures](https://ironpdf.com/tutorials/csharp-pdf-security-complete-tutorial/) and [form handling](https://ironpdf.com/how-to/edit-forms/).

IronPDF API 參考

常見問題解答

如何在我的 C# 項目中安裝 PDF 庫?

您可以通過直接下載套件 DLL 文件或使用 NuGet 通過 Visual Studio 安裝來安裝 PDF 庫,例如 IronPDF。

如何使用 PDF 庫從 C# 創建 PDF?

使用 PDF 庫(如 IronPDF),您可以利用 ChromePdfRenderer 類通過 HTML 字符串或 URL 轉換為 PDF,僅需少量代碼。

我可以使用 PDF 庫將 C# 表單轉換為 PDF 嗎?

是的,通過使用 IronPDF,您可以將 C# 表單轉換為 PDF。這需要捕獲表單的數據並使用該庫的渲染功能將其呈現為 PDF。

生成 PDF 的最簡單方法是什麼?

使用 IronPDF 生成 PDF 的最簡單方法是使用 ChromePdfRenderer 對象直接將 HTML 內容呈現為 PDF。

如何使用 PDF 庫將自定義文本和圖片添加到 PDF?

您可以通過在將其渲染為 PDF 之前操縱 HTML 內容來添加自定義文本和圖片,利用 IronPDF 的功能。

是否可以使用 PDF 庫編輯現有 PDF?

是的,IronPDF 提供了操作和編輯現有 PDF 的功能,允許您根據需要更新內容。

如何使用 PDF 庫直接將 URL 轉換為 PDF?

IronPDF 允許您使用 ChromePdfRenderer 對象簡化過程,直接將網頁 URL 轉換為 PDF。

.NET PDF 庫的主要功能是什麼?

像 IronPDF 這樣的 PDF 庫提供 PDF 創建、編輯、從 HTML 轉換以及添加自定義文本和圖像等功能,是 .NET 開發人員的多功能工具。

是否可以使用 PDF 庫自定義 PDF 設置?

是的,IronPDF 允許您自定義各種 PDF 設置,包括頁面大小、方向和邊距,以滿足您的特定項目需求。

如何在 C# 中使用 PDF 庫進行問題排查?

有關故障排除信息,您可以查看 IronPDF 提供的文檔和資源,或查閱社群論壇以獲得常見問題的解決方案。

IronPDF與.NET 10兼容嗎,.NET 10帶來什麼好處?

是的,IronPDF完全兼容.NET 10。它支持.NET 10中引入的運行時和語言增強功能,包括改進的內存使用、陣列接口方法的去虛化性能改進以及PDF生成和處理的減少開銷。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me