如何在 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 文件

開始使用IronPDF在.NET C# 中將影像嵌入 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 佈局,並確保圖像在 Web 瀏覽器中呈現效果與實際顯示效果一致。 對於複雜的佈局,請參閱我們的像素級完美 HTML 格式指南。

支援哪些圖像格式?

IronPDF支援所有主流影像格式,包括 PNG、JPG、SVG、GIF 和 BMP,可透過 HTML 轉換嵌入。 該函式庫能夠有效地處理SVG 圖形,實現可縮放的向量插圖。 使用不同格式時,請確保 HTML 在 src 屬性或 Base64 資料 URI 中正確指定影像類型。

何時應該使用直接URL,何時應該使用Base64編碼?

當圖片託管在網路上且檔案大小是考慮因素時,請使用直接 URL。 對於不需要網路存取的獨立 PDF 文件,請選擇 Base64 編碼。 儲存在雲端服務中的映像,請參閱我們關於嵌入 Azure Blob 儲存影像的指南。 此決定會影響所產生 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");
$vbLabelText   $csharpLabel

如何使用 Base64 嵌入圖片?

要在 HTML 中使用 Base64 編碼嵌入圖像,首先需要讀取圖像檔案或透過網路請求來獲取圖像的二進位資料。然後,使用.NET中的 Convert.ToBase64String 方法將二進位資料轉換為 Base64 編碼。最後,在 HTML 中,使用 data:image/svg+xml;base64 來建構圖像標籤,並將 Base64 資料放在標籤之前。 請注意,影像類型是在 Base64 資料之前指定的。 請造訪MDN Web Docs 上的"影像格式"頁面,以了解更多關於影像格式類型的資訊。

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

Base64 編碼建立獨立的 PDF 文件,不依賴外部資源,確保影像在沒有網路連線或原始影像檔案被移動或刪除時也能始終顯示。 在Blazor Server 應用程式中建立 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");
$vbLabelText   $csharpLabel

準備好要看看你還能做什麼了嗎? 請造訪我們的教學頁面:附加功能

常見問題解答

如何在 C# 中將影像新增至 PDF 文件?

使用 IronPDF,您可以在 PDF 中添加圖片,方法是使用  related to 如何在 C# 中將影像新增至 PDF 文件? 標籤將圖片包含在 HTML 中,然後再使用 RenderHtmlAsPdf 方法將 HTML 轉換為 PDF。這種方法利用了 IronPDF 的 Chrome 渲染引擎來精確地渲染 PDF 文件中的圖像。

我可以在 PDF 中嵌入哪些圖片格式?

透過 HTML 轉換嵌入時,IronPDF 支援所有主要的圖像格式,包括 PNG、JPG、SVG、GIF 和 BMP。對於可縮放的向量插圖,該圖庫對 SVG 圖形的處理尤其出色,可確保您的圖像在生成的 PDF 中正確呈現。

圖片應該使用直接 URL 還是 Base64 編碼?

當圖片在線上託管且檔案大小是一個考量時,請使用直接 URL。使用 IronPDF 創建不需要網際網路存取的獨立 PDF 時,請選擇 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 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

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

審核人
Jeff Fritz
Jeffrey T. Fritz
首席程序经理 - .NET 社群团队
Jeff 也是 .NET 和 Visual Studio 团队的首席程序经理。他是 .NET Conf 虚拟会议系列的执行制作人,并主持“Fritz 和朋友”这一每周两次的開發者的直播节目,在节目上讨论技術并与观众一起编写代碼。Jeff 撰写研讨会、主持演讲,并计划大型 Microsoft 開發者活動(包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit)的內容。
準備好開始了嗎?
Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速取得證據? PM > Install-Package IronPdf
運行範例看著你的HTML程式碼變成PDF檔。