如何在 C# 中將圖片加入 PDF 檔案

如何使用 IronPDF 在 C# 中將圖片加入 PDF

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

IronPDF 透過將包含 image 標籤的 HTML 轉換為 PDF 文件,實現將圖片直接嵌入 PDF 的功能,從而建立出無需外部依賴或網路連線即可顯示圖片的自包含檔案。

快速入門:輕鬆將圖片嵌入 PDF 檔案

立即開始使用 .NET C# 中的 IronPDF 在 PDF 檔案中嵌入圖片。 將您的圖片轉換為 Base64 字串,並將其嵌入 HTML 的 <img> 標籤中,即可生成無需外部檔案的獨立 PDF 檔案。 此方法可確保您的圖片在無網路連線的情況下仍能顯示。

  1. using 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/A 中嵌入圖片,請先使用 <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 編碼?

若圖片存放於線上且需顧及檔案大小,請使用直接網址。 若需製作無需網路連線的獨立 PDF 檔案,請選擇 Base64 編碼。 關於儲存於雲端服務中的圖片,請參閱我們關於從 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

如何使用 Base64 嵌入圖片?

若要使用 Base64 將圖片嵌入 HTML,首先需透過讀取圖片檔案或透過網路請求取得圖片的二進位資料。使用 .NET 中的 Convert.ToBase64String 方法將二進位資料轉換為 Base64。在 HTML 中建立 image 標籤時,請在 Base64 資料前加上 "data:image/svg+xml;base64,"。 請注意,Base64 資料前會標示圖片類型。 請參閱 MDN Web Docs 上的"影像格式"頁面,以獲取更多關於影像格式類型的資訊。

為何要對圖片使用 Base64 編碼?

Base64 編碼可產生自包含的 PDF 檔案,無需依賴外部資源,確保即使在無網路連線的情況下,或原始圖像檔案被移動或刪除時,圖像仍能正常顯示。 此技術在 Blazor Server 應用程式中建立 PDF 檔案,或部署至 Azure(該環境可能限制外部檔案存取)時特別實用。 經編碼的圖片會成為 HTML 字串的一部分,因此非常適合用於 HTML 字串轉 PDF 的轉換

有哪些效能考量?

Base64 編碼會使檔案大小增加約 33%,但能消除外部依賴性,因此非常適合用於歸檔或受限的網路環境。 當效能至關重要時,請考慮使用非同步 PDF 生成功能,以同時處理多項影像轉換。 若需處理大規模作業,請參閱我們的效能優化指南,以最大化處理量。

如何處理大型圖像檔案?

若遇大型圖片,請在進行 Base64 編碼前先進行壓縮以縮小 PDF 檔案大小;若檔案大小極為關鍵,則建議使用外部連結。 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 包括圖片,將其加入 PDF 文件中  related to 如何在 C# 中將圖片加入 PDF 文件? 標籤將圖片嵌入 HTML,再透過 RenderHtmlAsPdf 方法將 HTML 轉換為 PDF。此方法利用 IronPDF 的 Chrome 渲染引擎,能精確地在 PDF 文件中呈現圖片。

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

IronPDF 支援所有主要圖像格式,包括 PNG、JPG、SVG、GIF 和 BMP,適用於透過 HTML 轉換進行嵌入。該函式庫在處理 SVG 圖形方面表現尤為出色,特別適合可縮放的向量插圖,確保您的圖像在生成的 PDF 中能正確呈現。

圖片應使用直接網址還是 Base64 編碼?

若圖片存放於線上且需考量檔案大小,請使用直接網址。若要建立無需網路連線的獨立 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 University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,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,014,616 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 轉為 PDF。