使用 IRONPDF

在C#生成PDF檔案

發佈 2022年1月20日
分享:

辦公文件和報告經常需要從各種格式(包括 HTML)轉換成 PDF 文件。 我們也可能需要從網頁或網址生成 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 添加頁首和頁尾。 此外,它使得极其简单去使用 IronPDF 高效閱讀 PDF 內容文字和提取圖片。

IronPDF 提供了解決所有 PDF 問題的單一解決方案。 每當您購買 IronPDF,您將獲得所有的更改,這些都在單一的庫中,此外還包含與 PDF 文件相關的任務,且無需額外的條件。 IronPDF 是一個完整的套件,也是設計師和 C# 程式設計師的絕佳工具。使用這個實用工具,您可以輕鬆建立一個適用於 .NET 的核心 PDF 庫。 IronPDF 使用 .NET Chromium 引擎將 HTML 頁面轉換為 PDF 文件。

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

  • HTML字符串和模板
  • ASPX 網頁表單
  • MVC 視圖
  • HTML文件
  • 任何 URL

IronPDF 功能

IronPDF協助您從HTML 4和5、CSS和JavaScript中創建PDF文件,並從URL創建PDF文件。 同樣,它也協助載入具有自訂網路登入憑證、使用者代理、代理伺服器、Cookies、HTTP 標頭以及表單變數的 URL,允許在 HTML 登入表單後登入。 您可以輕鬆地從 PDF 中提取圖像和文本,並將新的 HTML 內容標記到任何當前的 PDF 頁面上,還允許您添加邏輯或 HTML 頁眉和頁腳。 它可以輕鬆載入和提取現有的 PDF 檔案,並在 PDF 文件中合併和拆分內容。 它具有自訂的「基本 URL」,允許網路上任何地方的資產文件可被訪問,並接受以任何重要文件編碼的 HTML。(預設為UTF-8). 您可以簡單地從文件、二進位資料或 MemoryStreams 儲存和載入,並將 PDF 文件轉換為 PrintDocument 項目進行列印,無需使用 Adobe。(無需改動大量代碼)並匯出官方日誌文件,其中包含有關 API 實現和源代碼調試錯誤的詳細信息。

相容性

它支持像 C#、VB.NET 和 F# 這樣的 .NET 語言。 它可以在 .NET 平台上運行,像是 .NET 6、5、Core 2x 和 3x、Standard 2 和 Framework 4x。 它適用於控制台、網頁和桌面等應用程式,並受到 Microsoft Windows、Linux、macOS、Docker 和 Azure 作業系統的支持。 IronPDF IDEs 包含 Microsoft Visual Studio、JetBrains ReSharper 和 Rider。

生成 PDF 文件的步驟

首先,我們需要創建一個新的 Visual Studio 專案。 我將使用主控台應用程式範本進行此演示。 您可以根據您的需求和選擇使用任何一種。

您也可以使用現有的專案,將 PDF 檔案生成工具添加進去。

創建一個 Visual Studio 專案

開啟 Microsoft Visual Studio 2019 或其他任何版本。 建議使用最新版本。 按一下「建立新專案」。 選擇 C# 主控台應用程式作為應用程式範本。 點擊「下一步」按鈕。

為您的專案指定一個名稱。 我將其命名為「C Sharp Generate PDF」。 您可以隨意命名它。 點擊「下一步」按鈕,並設定目標 .NET Framework。 我已將目標 .NET 框架設置為「.NET 5.0」,即最新的穩定版本。 點擊「創建」按鈕。 將為您創建一個新項目。

在 Visual Studio 中安裝 NuGet 套件

在我們開始之前,我們需要安裝 IronPDF 庫。 您可以使用以下三種方法之一進行安裝:

套件管理控制台

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

Install-Package IronPdf

圖像 1

NuGet 套件管理器解決方案

您也可以使用 NuGet 套件方案來安裝 Barcode Library。 只需遵循以下步驟:

點選工具 > NuGet 套件管理員 > 管理 NuGet 套件方案。

圖片2

這將為您開啟 NuGet 套件管理器。 點擊「瀏覽」,然後按下圖所示搜尋 IronPDF。

圖片3

點擊 IronPDF,然後點擊「已安裝」按鈕。 這將在您的專案中安裝 IronPDF。 現在您可以在您的項目中自由使用其任何功能。

直接下載 IronPDF ZIP

或者,你可以下載 IronPDF ZIP 套件以進行整合.

請記得在任何使用 IronPDF 的 cs 類別檔案的頂部添加此語句:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

查看IronPDF 在 NuGet 上的安裝和更新有關版本更新和安裝的更多信息。

還有其他IronPDF NuGet 套件可用於特定部署至 Linux、Mac、Azure 和 AWS 目標,這些都記錄在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 文件和上述範例一樣簡單,只需以下三行代碼,以下代碼將演示如何使用 IronPDF 從 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");
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#

輸入HTML:

影像 5

生成的 PDF 文件輸出:

圖像 6

從網址生成 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 網頁表單生成 PDF 文件,而不是 HTML。 將代碼行放在頁面後台代碼的 Page_Load 方法中。

  • 創建新的 ASP.NET Web 表單應用程式或開啟現有的應用程式
  • 安裝 IronPDF 庫的 NuGet 套件
  • 使用適當的關鍵字導入 IronPDF 命名空間
  • 打開您想要渲染為 PDF 的頁面的代碼後台。 例如,Default.aspx.cs
  • 在頁面載入函數中寫入以下程式碼。
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

添加頁眉和頁腳

Print Options (列印選項) 屬性允許您為 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#

使用「Merge」功能將多個 PDF 檔案合併在一起,或使用「CopyPages」從現有文件中分割若干頁面。 將 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,您可以用兩個產品的價格獲得全部五個產品。 詳情請點擊IronPDF Suite 信息.

您可以從此下載檔案專案IronPDF C# PDF 生成教程專案.

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

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

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >