使用 IRONPDF

在C#生成PDF檔案

發佈 2022年1月20日
分享:

辦公室文件和報告經常需要從各種格式轉換成PDF文件,包括HTML。我們也可能需要從網頁或URL生成PDF文件。為此,我們需要一個多功能生成器,能生成包含與原始HTML文件完全相同內容的PDF文件。在本教程中,我們將學習如何用C#生成PDF文件。

什麼是 IronPDF?

IronPDF .NET PDF 庫受到許多設計師的認可,尤其是使用 C# 的計算機程序員。你無疑可以利用這個卓越的工具為 .NET 創建一個核心 PDF 庫。

IronPDF 使用 .NET Chromium 引擎將 HTML 頁面轉換成 PDF 文件。使用 HTML 轉 PDF 無需利用複雜的 API 來定位或設計 PDF。IronPDF 支援大眾化的網頁文件:HTML、ASPX、JS、CSS 和图片。

它還允許你使用 HTML5、CSS、JavaScript 和圖像來建立一個 .NET PDF 庫。你可以輕鬆地編輯、蓋章,並在 PDF 上添加頁眉和頁腳。此外,這使得製作 PDF 變得非常簡單 讀取 PDF 文本並提取圖片。

IronPDF 提供所有 PDF 問題的單一解決方案。購買 IronPDF 後,您將獲得所有變更在單個庫中,外加與 PDF 檔相關的任務,無需其他條件。IronPDF 是一個完整的包裝,對設計師和 C# 程序員來說都是一個很好的工具。利用這個有用的工具,您可以輕鬆创建.NET的核心 PDF 庫。IronPDF 利用 .NET 的 Chromium 引擎將 HTML 頁面轉換為 PDF 檔。

IronPDF 幫助我們從以下內容生成 PDF 檔:

  • HTML 字串和模板
  • ASPX WebForms
  • MVC Views
  • HTML 檔
  • 任何 URL

IronPDF 功能

IronPDF 協助您從 HTML 4 和 5、CSS 以及 JavaScript 創建 PDF 文件,還可以從 URL 創建 PDF 文件。同時,它也幫助您使用自定義的網路登入憑證、User-Agent、代理伺服器、Cookies、HTTP 標頭和表單變數載入 URL,允許在 HTML 登入表單背後登入。您可以輕鬆地從 PDF 中提取圖像和文本,並在任何現有的 PDF 頁面上蓋上新的 HTML 內容,還可以添加邏輯或 HTML 頁首和頁尾。它可以輕鬆載入和提取現有的 PDF 文件,並在 PDF 文件中合併和分割內容。它有自定義的 "base URL",允許網路上的資源文件可以被訪問,並接收任何主要文件編碼中的 HTML。 (預設為UTF-8)您可以直接從文件、二進制數據或 MemoryStreams 保存和加載,並將 PDF 文件轉換為 PrintDocument 項目,無需 Adobe 即可列印。 (無需改動大量代碼) 並匯出官方日誌文件,其中包含有關 API 實現和源代碼調試錯誤的詳細信息。

兼容性

它支持 .NET 語言,如 C#、VB.NET 和 F#. 它適用於 .NET 平台,如 .NET 6、5、Core 2x 和 3x、Standard 2 和 Framework 4x。它適用於像 Console、Web 和 Desktop 這樣的應用程序,並被 Microsoft Windows、Linux、macOS、Docker 和 Azure Operating System 支持。IronPDF IDE 包括 Microsoft Visual Studio、JetBrains Resharper 和 Rider。

步驟:生成 PDF 文件

首先,我們需要創建一個新的 Visual Studio 專案。在此示範中,我將使用控制台應用程式模板。您可以根據需求和選擇使用任意模板。

您也可以使用現有專案來添加 PDF 文件生成工具。

建立 Visual Studio 專案

打開 Microsoft Visual Studio 2019 或其他版本。建議使用最新版本。點擊「建立新專案」。選擇 C# 控制台應用程式模板。點擊「下一步」按鈕。

為您的專案命名。我將專案命名為「C Sharp Generate PDF」。您可以隨意命名。點擊「下一步」按鈕,並設定目標 .NET Framework。我將目標 .NET Framework 設定為「.NET 5.0」,最新穩定版本。點擊「建立」按鈕。系統將為您建立一個新專案。

在 Visual Studio 安裝 NuGet 套件

在我們開始之前,我們需要安裝 IronPDF Library。你可以通過以下三種方法之一來安裝它:

套件管理器主控台

在套件管理器主控台中輸入以下命令。它會為你下載並安裝該套件。

Install-Package IronPdf

圖像 1

NuGet 封裝管理器解決方案

您也可以使用 NuGet 包解決方案來安裝條碼庫。只需按照以下步驟操作:

點擊 工具 > NuGet 包管理器 > 管理 NuGet 包解決方案。

圖片2

這將為您打開 NuGet 套件管理器。點擊“瀏覽”並搜索 IronPDF,如下所示。

圖片3

點擊 IronPDF,然後點擊“安裝”按鈕。這會在你的項目中安裝 IronPDF。現在你可以在你的項目中自由使用它的任何功能。

從連結下載

或者,您可以 直接下載 DLL請記得在使用 IronPDF 的任何 cs 類文件頂部添加以下語句:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

查看 NuGet 上的 IronPDF 更多關於版本更新和安裝的資訊。

有其他適用於Linux、Mac、Azure和AWS目標的IronPDF NuGet Packages,其文件記載在 IronPDF 高級 NuGet 安裝指南IronPDF 程式庫現在已安裝,所以讓我們進行下一步。

從 HTML 字串生成 PDF 檔案

IronPDF 可以輕鬆地從 HTML 文字生成 PDF 檔案。以下示例說明了這種功能。當您只需要向 PDF 檔案添加簡單文字時,請使用此選項。

添加以下命名空間:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

使用以下程式碼範例:

var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>").SaveAs("GeneratePDF.pdf");
var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>").SaveAs("GeneratePDF.pdf");
Dim Renderer = New ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>").SaveAs("GeneratePDF.pdf")
VB   C#

在上述代碼中,我創建了一個新的 ChromePdfRenderer 渲染器。然後,我調用了 RenderHtmlAsPdf,接著調用了 SaveAs 來保存結果。

輸出

執行程式。它將在專案的 bin 資料夾中生成一個 PDF 文件,因為我們沒有指定路徑。

圖片4

生成您的第一個 PDF 文件

在安裝 IronPDF 庫後,我們可以輕鬆地僅使用幾行代碼來創建 PDF 文件和 PDF 頁面。現在我們將幫助您在 C# 中創建您的第一個 PDF 文件。複製以下代碼並將其粘貼到您的 Visual Studio 中運行程序。

var PDF = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
var PDF = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
Dim PDF = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
mypdf.SaveAs("FirstPDFDocument.pdf")
VB   C#

執行您的 C# 專案後,專案的 bin 資料夾中會有一個名為 "FirstPDFDocument.pdf" 的檔案,雙擊該檔案,PDF 檔案將會在瀏覽器標籤中打開。

圖像 9

使用 IronPDF,在 C# 中創建 PDF 文件或將 HTML 轉換為 PDF 只需要幾行代碼。

從 URL 生成 PDF 文件

使用 C# 從 URL 創建 PDF 文件和上面的例子一樣簡單,只需這三行代碼,以下代碼將演示如何操作 創建 PDF 從網址下載文件。

using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var PDF = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var PDF = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private PDF = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
VB   C#

以下是上述代碼的輸出結果。

圖片 10

其他將流行的複雜網站轉換為 PDF 的示例。

圖片 11

從 HTML 檔案生成 PDF 文件

我們可以從包含圖片、CSS、表單、超連結和 JavaScript 的 HTML 檔案生成 PDF 文件。在有本地訪問源文件的情境下使用此方法。

此範例名為 RenderHTMLFileAsPdf,會返回一個名為 PDF 的變數。

調用 SaveAs 將輸出保存為 PDF 文件。

以下代碼範例假設專案的 bin 資料夾中有一個 HTML 文件。

var Renderer = new ChromePdfRenderer();
var PDF = Renderer.RenderHTMLFileAsPdf("AccountPage.html");
PDF.SaveAs("AccountPdf.pdf");
var Renderer = new ChromePdfRenderer();
var PDF = Renderer.RenderHTMLFileAsPdf("AccountPage.html");
PDF.SaveAs("AccountPdf.pdf");
Dim Renderer = New ChromePdfRenderer()
Dim PDF = Renderer.RenderHTMLFileAsPdf("AccountPage.html")
PDF.SaveAs("AccountPdf.pdf")
VB   C#
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Iron Software Product Information</title>
</head>
<body>
    <h1>Iron Software Product Information</h1>
    <p>Welcome to the Iron Software product suite information page. Here you can find details about our products:</p>

    <h2>IronPDF</h2>
    <p>IronPDF is a powerful tool for generating, editing, and extracting PDF files using .NET, Java, Python, and Node.js.</p>

    <h2>IronOCR</h2>
    <p>IronOCR allows you to read text from images and PDF documents with high accuracy using .NET.</p>

    <h2>IronXL</h2>
    <p>IronXL enables you to work with Excel files in .NET and Python applications easily.</p>

    <h2>IronBarcode</h2>
    <p>IronBarcode lets you generate and read barcodes in .NET applications.</p>

    <h2>IronQR</h2>
    <p>IronQR is designed for creating and reading QR codes using .NET.</p>

    <h2>IronZIP</h2>
    <p>IronZIP helps you compress and decompress files in .NET applications.</p>

    <h2>IronWord</h2>
    <p>IronWord allows you to create, read, and edit Word documents with .NET.</p>

    <h2>IronPrint</h2>
    <p>IronPrint provides functionalities for printing documents within .NET applications.</p>

    <h2>IronWebScraper</h2>
    <p>IronWebScraper is a tool for extracting data from web pages in .NET applications.</p>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Iron Software Product Information</title>
</head>
<body>
    <h1>Iron Software Product Information</h1>
    <p>Welcome to the Iron Software product suite information page. Here you can find details about our products:</p>

    <h2>IronPDF</h2>
    <p>IronPDF is a powerful tool for generating, editing, and extracting PDF files using .NET, Java, Python, and Node.js.</p>

    <h2>IronOCR</h2>
    <p>IronOCR allows you to read text from images and PDF documents with high accuracy using .NET.</p>

    <h2>IronXL</h2>
    <p>IronXL enables you to work with Excel files in .NET and Python applications easily.</p>

    <h2>IronBarcode</h2>
    <p>IronBarcode lets you generate and read barcodes in .NET applications.</p>

    <h2>IronQR</h2>
    <p>IronQR is designed for creating and reading QR codes using .NET.</p>

    <h2>IronZIP</h2>
    <p>IronZIP helps you compress and decompress files in .NET applications.</p>

    <h2>IronWord</h2>
    <p>IronWord allows you to create, read, and edit Word documents with .NET.</p>

    <h2>IronPrint</h2>
    <p>IronPrint provides functionalities for printing documents within .NET applications.</p>

    <h2>IronWebScraper</h2>
    <p>IronWebScraper is a tool for extracting data from web pages in .NET applications.</p>
</body>
</html>
HTML

影像 5

生成的 PDF 文件輸出:

圖像 6

從 URLs 生成 PDF 文件

我們可以使用幾行 C# 或 VB.NET 代碼從現有的網頁生成 PDF 文件。當您需要從已經有良好格式文檔的網站生成 PDF 文檔時,可以使用此選項。

調用 RenderUrlAsPdf 來下載網頁內容,以便您可以調用 SaveAs 將 PDF 文件本地保存。

var Renderer = new ChromePdfRenderer();
var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf");
var Renderer = new ChromePdfRenderer();
var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf");
Dim Renderer = New ChromePdfRenderer()
Dim PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
PDF.SaveAs("wikipedia.pdf")
VB   C#

PDF文件輸出:

影像 7

從 ASP.NET Web Forms 生成 PDF 文件

我們可以使用一行代碼從 ASP.NET Web forms 中生成 PDF 文件,而不是 HTML。將這行代碼放在頁面的後台代碼的 Page_Load 方法中。

  • 創建一個新的 ASP.NET Web Forms 應用程序或打開現有的應用程序
  • 安裝 IronPDF 庫的 NuGet 套件
  • 使用適當的關鍵字導入 IronPDF 命名空間
  • 打開要渲染為 PDF 的頁面的後台代碼。例如,Default.aspx.cs
  • 在 Page Load 函數中撰寫以下代碼。
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
VB   C#

PDF文件輸出:

圖像 8

從 ASP MVC 視圖生成 PDF 文件

我們可以從 ASP MVC 框架生成 PDF 文件。

在 Visual Studio 中啟動新項目嚮導,並選擇 ASP.NET Web 應用程式 (.NET框架) > MVC。或者,打開現有的 MVC 專案。在 Controllers 資料夾中打開 HomeController 檔案,並且替換 Index 方法,或新增一個新的控制器。

這是一個程式碼應該看起來的範例:

public ActionResult Index()
{
    var PDF = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
    return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
}
public ActionResult About()
{
    ViewBag.Message = "Your application description page.";
    return View();
}
public ActionResult Contact()
{
    ViewBag.Message = "Your contact page.";
    return View();
}
public ActionResult Index()
{
    var PDF = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
    return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
}
public ActionResult About()
{
    ViewBag.Message = "Your application description page.";
    return View();
}
public ActionResult Contact()
{
    ViewBag.Message = "Your contact page.";
    return View();
}
Public Function Index() As ActionResult
	Dim PDF = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
	Return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf")
End Function
Public Function About() As ActionResult
	ViewBag.Message = "Your application description page."
	Return View()
End Function
Public Function Contact() As ActionResult
	ViewBag.Message = "Your contact page."
	Return View()
End Function
VB   C#

PDF文件輸出:

圖像 9

添加页眉和页脚

列印選項屬性允許您為每個PDF文件的頁面設置頁眉和頁腳。這些選項可以在 ChromePdfRenderer 對象中訪問。此範例在 .NET Core 控制台應用程序中工作。

  • 使用這些模板屬性來構建內容。 {頁面} {總頁數} {網址} {日期} {時間} {html-標題} & {pdf-title}

請撰寫以下程式碼:

 var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
//Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
//Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>").SaveAs("GeneratePDF.pdf");
 var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
//Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
//Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>").SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1
'Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}"
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial"
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12
'Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial"
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>").SaveAs("GeneratePDF.pdf")
VB   C#

PDF文件輸出 - 頁首和頁尾

圖片 10

使用 HTML 添加頁首和頁尾

我們可以在 PDF 文件的頁首和頁尾中添加文字、日期、時間和頁碼。

var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
    DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 20,
    HtmlFragment = "This is Footer {date}",
};
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>").SaveAs("GeneratePDF.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
    DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 20,
    HtmlFragment = "This is Footer {date}",
};
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>").SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
	.Height = 15,
	.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
	.DrawDividerLine = True
}
ChromePdfRenderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
	.Height = 20,
	.HtmlFragment = "This is Footer {date}"
}
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>").SaveAs("GeneratePDF.pdf")
VB   C#

如上所述,此範例在 .NET Core 控制台應用程式中運行。使用 HtmlFragment 屬性指定 HTML。

圖片 11

使用密碼加密PDF文件

我們可以生成帶有密碼的PDF文件。設置PDF文件的“Password”屬性來加密它,並強迫用戶輸入正確的密碼以檢視文件。這個範例適用於.NET Core控制台應用程式。

var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>")
pdfDocument.Password = "Password@1234"
pdfDocument.SaveAs("secured.pdf")
VB   C#

PDF文件輸出:

圖片 12

合併和拆分 PDF 文件

我們可以將多個 PDF 文件合併到一個新的 PDF 文件中。使用以下代碼進行合併和拆分。

var ChromePdfRenderer = new ChromePdfRenderer();
//Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>();
pdfDocuments.Add(PdfDocument.FromFile("AccountPdf.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("GeneratePDF.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("wikipedia.pdf"));
var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
//Add a cover page 
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
//Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
//Copy pages 1,2 and save them as a new document.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
//Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>();
pdfDocuments.Add(PdfDocument.FromFile("AccountPdf.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("GeneratePDF.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("wikipedia.pdf"));
var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
//Add a cover page 
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
//Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
//Copy pages 1,2 and save them as a new document.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
'Join Multiple Existing PDFs into a single document
Dim pdfDocuments = New List(Of PdfDocument)()
pdfDocuments.Add(PdfDocument.FromFile("AccountPdf.pdf"))
pdfDocuments.Add(PdfDocument.FromFile("GeneratePDF.pdf"))
pdfDocuments.Add(PdfDocument.FromFile("wikipedia.pdf"))
Dim mergedPdfDocument = PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("merged.pdf")
'Add a cover page 
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"))
'Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1)
mergedPdfDocument.SaveAs("merged.pdf")
'Copy pages 1,2 and save them as a new document.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf")
VB   C#

使用「合併」功能將多個 PDF 文件合併在一起,或使用「複製頁面」從現有文檔中拆分多個頁面。在您的項目中將 PDF 包括為「內容」,以通過文件名訪問它們。

圖片13

從 PDF 文件中提取圖像

此功能需要額外的 NuGet 套件。 安裝 System.Drawing.Common。 使用 ExtractAllText 獲取文本並使用 ExtractAllImages 函數獲取圖像。

var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
//Get all text
var allText = pdfDocument.ExtractAllText();
//Get all Images
var allImages = pdfDocument.ExtractAllImages();

//Or even find the images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
    var pageNumber = index + 1;
    var pageText = pdfDocument.ExtractTextFromPage(index);
    var pageImages = pdfDocument.ExtractImagesFromPage(index);
}
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
//Get all text
var allText = pdfDocument.ExtractAllText();
//Get all Images
var allImages = pdfDocument.ExtractAllImages();

//Or even find the images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
    var pageNumber = index + 1;
    var pageText = pdfDocument.ExtractTextFromPage(index);
    var pageImages = pdfDocument.ExtractImagesFromPage(index);
}
Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = PdfDocument.FromFile("wikipedia.pdf")
'Get all text
Dim allText = pdfDocument.ExtractAllText()
'Get all Images
Dim allImages = pdfDocument.ExtractAllImages()

'Or even find the images and text by page
For index = 0 To pdfDocument.PageCount - 1
	Dim pageNumber = index + 1
	Dim pageText = pdfDocument.ExtractTextFromPage(index)
	Dim pageImages = pdfDocument.ExtractImagesFromPage(index)
Next index
VB   C#

您需要添加 System.Drawing 來將圖像保存為位圖。

啟用JavaScript

我們可以使用IronPDF在瀏覽器中啟用JavaScript。以下的代碼範例顯示了如何在我們的瀏覽器中啟用JavaScript。

var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
    EnableJavaScript = true,
    RenderDelay = 100
}               
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
    EnableJavaScript = true,
    RenderDelay = 100
}               
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions = New ChromePdfRenderer() With {
	.EnableJavaScript = True,
	.RenderDelay = 100
}
VB   C#

PDF OCR 和文字擷取

在許多情況下,您可以直接從 PDF 文件中擷取嵌入的文字。

寫以下代碼:

PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
//Get all text 
string Text = PDF.ExtractAllText();
PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
//Get all text 
string Text = PDF.ExtractAllText();
Dim PDF As PdfDocument = PdfDocument.FromFile("GeneratePDF.pdf")
'Get all text 
Dim Text As String = PDF.ExtractAllText()
VB   C#

如果這不起作用,可能是因為您的文本實際上嵌入在圖像中。

使用IronOCR庫掃描文件中的非純文本的視覺文本。

概要

您可以用幾行代碼生成 PDF 文件,並以任何您想要的方式操作和格式化它們。只需指定操作,IronPDF 就會執行這些操作。此外,還有一個免費的開發版本和試用期。市場上還有其他的 PDF 生成庫,但很多要麼性能緩慢,要麼需要您支付開發費用。

現在,IronPDF .NET 庫與 Iron Suite for .NET 一起提供。Iron Suite 包含其他 .NET 庫,如 IronXL 庫、IronOCR 庫、IronBarcode 庫等。這些其他庫對開發者非常有用,因此建議嘗試它們。如果您購買完整的 Iron Suite,您可以以兩個產品的價格獲得所有五個產品。欲了解更多詳情,請點擊 這裡.

您可以從這裡下載檔案專案 連結.

< 上一頁
x509certificate2 程式化地為 PDF 添加數位簽名
下一個 >
從 HTML 文件在 C# 中建立 PDF

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >