如何在C#中將影像加入到PDF

如何使用IronPDF在C#中將圖像新增到PDF中

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 通過將包含圖像標籤的HTML轉換為PDF文件,使得可以直接將圖像嵌入到PDF中,建立不依賴外部資源或互聯網連接的自包含文件。

快學:輕鬆將圖像嵌入PDF

.NET C#中開始使用IronPDF將圖像嵌入PDF文件。 將您的圖像轉換為Base64字串並嵌入到HTML <img> 標籤中,以生成不需要外部文件的自包含PDF。 此方法可確保您的圖像在沒有網路連接時顯示。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 複製並運行這段程式碼片段。

    new IronPdf.ChromePdfRenderer()
         .RenderHtmlAsPdf("<img src='data:image/png;base64," + Convert.ToBase64String(File.ReadAllBytes("logo.png")) + "'>")
         .SaveAs("image-embedded.pdf");
  3. 部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronPDF,透過免費試用

    arrow pointer


如何將圖像嵌入PDF中?

要將圖像嵌入PDF,首先使用<img>標籤在HTML中包含圖像。 然後使用RenderHtmlAsPdf方法將HTML轉換為PDF。 如果您有現成的PDF,可以使用圖片蓋章器或HTML蓋章教程將圖像蓋章到PDF文件上。 這種方法適用於IronPDF的Chrome渲染引擎

為什麼RenderHtmlAsPdf方法效果最好?

RenderHtmlAsPdf方法利用IronPDF的Chrome渲染引擎將包含圖像的HTML內容轉換為PDF格式,同時保留布局和樣式。 此方法支持響應式CSS佈局,確保圖像如在網頁瀏覽器中顯示一樣渲染。 對於複雜的布局,請參考我們的像素完美HTML格式化指南

支持哪些圖像格式?

IronPDF 支持包括PNG、JPG、SVG、GIF 和 BMP在內的所有主要圖像格式,通過HTML轉換嵌入。 該程式庫有效地處理SVG圖形以進行可擴展的矢量插圖。 處理不同格式時,請確保您的HTML在src屬性中或Base64資料URI中正確指定了圖像型別。

什麼時候應該使用直接URL與Base64編碼?

當圖像在線託管而文件大小是考慮因素時,使用直接URL。 選擇Base64編碼以製作不需要網路存取的自包含PDF。 對於儲存在雲服務中的圖像,請參考我們的指導從Azure Blob Storage嵌入圖像。 這一決定會影響生成的PDF的文件大小和可移植性。

:path=/static-assets/pdf/content-code-examples/how-to/add-images-to-pdfs-embed-image.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

string html = @"<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export PDF
pdf.SaveAs("embedImage.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private html As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"

' Render HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Export PDF
pdf.SaveAs("embedImage.pdf")
$vbLabelText   $csharpLabel

Icon Quote related to 什麼時候應該使用直接URL與Base64編碼?

我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

Milan Jovanovic related to 什麼時候應該使用直接URL與Base64編碼?

Milan Jovanovic

Microsoft MVP

查看案例研究
Icon Quote related to 什麼時候應該使用直接URL與Base64編碼?

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

Brent Matzelle related to 什麼時候應該使用直接URL與Base64編碼?

Brent Matzelle

首席技術官,OPYN

查看案例研究
Icon Quote related to 什麼時候應該使用直接URL與Base64編碼?

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

David Jones related to 什麼時候應該使用直接URL與Base64編碼?

David Jones

首席軟體工程師,Agorus Build

查看案例研究

如何使用Base64嵌入圖像?

要在HTML中使用Base64嵌入圖像,首先通過讀取圖像文件或通過網路請求獲取圖像的二進位資料。在.NET中使用Convert.ToBase64String方法將二進位資料轉換為Base64。在HTML中使用"data:image/svg+xml;base64,"構建圖像標籤放在Base64資料之前。 注意,Base64資料之前會指定圖像型別。 存取 MDN Web Docs 的圖像格式以獲取有關圖像格式型別的詳細資訊。

為什麼要使用Base64編碼圖像?

Base64編碼建立了不依賴外部資源的自包含PDF,確保即使在沒有網路連接或原始圖像檔案移動或刪除的情況下,圖像也能正常顯示。 這種技術在建立Blazor伺服器應用程式中的PDF或者部署到Azure(在外部文件存取可能受限的情況下)時很有用。 編碼後的圖像成為HTML字串的一部分,使其理想於HTML字串到PDF轉換

有哪些性能考量?

Base64編碼會使文件大小增加約33%,但消除了外部依賴,使其成為用於存檔目的或受限網路環境的理想選擇。 當性能至關重要時,考慮使用異步PDF生成同時處理多個圖像轉換。 對於大規模操作,請參考我們的性能優化指南以最大化吞吐量。

如何處理大圖文件?

對於大圖像,先壓縮然後進行Base64編碼以最小化PDF文件大小,或在文件大小至關重要時使用外部URL。 IronPDF 提供PDF壓縮功能,可將文件大小減少多達75%。 處理多個圖像時,優化您的渲染設置,以在質量和文件大小之間取得最佳平衡。

:path=/static-assets/pdf/content-code-examples/how-to/add-images-to-pdfs-base64-image.cs
using IronPdf;
using System;
using System.IO;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Import image file binary data
byte[] binaryData = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg");

// Convert the binary data to base 64
string imgDataUri = Convert.ToBase64String(binaryData);

// Embed in HTML
string html = $"<img src='data:image/svg+xml;base64,{imgDataUri}'>";

// Convert HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export the PDF
pdf.SaveAs("embedImageBase64.pdf");
Imports IronPdf
Imports System
Imports System.IO

Private renderer As New ChromePdfRenderer()

' Import image file binary data
Private binaryData() As Byte = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg")

' Convert the binary data to base 64
Private imgDataUri As String = Convert.ToBase64String(binaryData)

' Embed in HTML
Private html As String = $"<img src='data:image/svg+xml;base64,{imgDataUri}'>"

' Convert HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Export the PDF
pdf.SaveAs("embedImageBase64.pdf")
$vbLabelText   $csharpLabel

準備好看看您還能做什麼嗎? 在此查看我們的教程頁面:其他特性

常見問題

如何在C#中將影像加入到PDF文件中?

您可以使用IronPDF通過在HTML中包含 related to 如何在C#中將影像加入到PDF文件中?標籤將影像加入到PDF中,然後使用RenderHtmlAsPdf方法將HTML轉換為PDF。這種方法利用IronPDF的Chrome渲染引擎準確地在PDF文件中渲染影像。

我可以將哪些影像格式嵌入到PDF中?

IronPDF支持所有主要的影像格式,包括通過HTML轉換嵌入的PNG、JPG、SVG、GIF和BMP。該程式庫特別善於處理SVG圖形,確保您的影像在生成的PDF中正確渲染。

我應該使用直接URL還是Base64編碼加入影像?

當影像在線上託管且文件大小是一個問題時,請使用直接URL。在建立不需要網路存取的獨立PDF時,選擇使用IronPDF的Base64編碼。Base64編碼確保您的PDF在無外部依賴的情況下顯示影像。

我可以將影像加入到現有的PDF文件中嗎?

可以,IronPDF允許您使用影像壓印或HTML壓印將影像加入到現有的PDF中。此功能使您能夠將影像覆蓋到現有PDF文件的指定頁面或位置。

如何將影像轉換為Base64以嵌入到PDF中?

將您的影像轉換為Base64字串,並使用資料URI直接嵌入到HTML的 related to 如何將影像轉換為Base64以嵌入到PDF中?標籤中。然後,IronPDF的RenderHtmlAsPdf方法將處理這個Base64編碼的影像,並將其嵌入到您的PDF中,建立一個獨立的文件。

影像嵌入是否保留CSS樣式和佈局?

是的,IronPDF的Chrome渲染引擎在轉換包含影像的HTML到PDF時保留CSS佈局和樣式。該程式庫支持響應式CSS佈局,確保影像渲染得和在網頁瀏覽器中看到的一樣。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

由...審核
Jeff Fritz
Jeffrey T. Fritz
首席計劃經理 - .NET社區團隊
Jeff還是.NET和Visual Studio團隊的首席計劃經理。他是.NET Conf虛擬會議系列的執行製作人,並主持每週兩次的開發者直播節目'Fritz and Friends',在節目中討論技術並與觀眾一起撰寫程式碼。Jeff撰寫工作坊、演講和內容計劃,為微軟開發者的最大活動如Microsoft Build、Microsoft Ignite、.NET Conf和Microsoft MVP Summit提供內容支援。
準備開始了嗎?
Nuget 下載 19,936,792 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。