IronPDF 操作指南 字體 (Web & 圖標) 使用 IronPDF C# 在 PDF 中設定字體 Curtis Chau 更新:2026年1月10日 下載 IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronPDF 允許 C# 開發人員從 HTML 建立帶有自訂 Web 字體和圖示字體的 PDF。 它透過 CSS @font-face規則支援 Google Fonts 等外部字體服務和本機字體文件,確保所有產生的 PDF 的排版一致。 網頁字體是專為網站設計的字體。 這些字體託管在網站伺服器上,並透過網頁瀏覽器下載,以確保網站上的文字渲染效果一致且美觀,而無需考慮使用者本地字體的可用性。 此外,使用符號和字形的圖標字體經常用於網頁設計中,以創建可縮放、可自訂的圖標,並透過 CSS 操作保持視覺上一致的使用者介面。 透過 IronPDF 的字體管理功能,開發人員可以輕鬆地將這些字體整合到他們的 PDF 生成工作流程中。 CSS 包含網頁字體,可讓您指定在造訪您的網站時要下載的字體檔案。 IronPDF 支援字型載入以及從 HTML 渲染至 PDF,因此非常適合製作需要特定品牌或排版標準的文件。 對於處理國際內容的開發人員,IronPDF 也提供 UTF-8 和國際語言支援。 快速入門:在 PDF 生成中使用 Web 字體 使用 IronPDF 的 C# 函式庫將網頁和圖示字型納入您的 PDF。 本指南將教您如何使用自訂字型來呈現 HTML 內容,以確保 PDF 的一致性和視覺吸引力。 只需使用 IronPDF 渲染 HTML,即可在幾秒鐘內儲存樣式化的文件。 在開始之前,請確認您已在專案中安裝 IronPDF。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronPDF PM > Install-Package IronPdf 複製並運行這段程式碼。 new IronPdf.ChromePdfRenderer { RenderingOptions = { WaitFor = IronPdf.Rendering.WaitFor.AllFontsLoaded(2000) } } .RenderHtmlAsPdf("<link href=\"https://fonts.googleapis.com/css?family=Lobster\" rel=\"stylesheet\">" + "<link href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css\" rel=\"stylesheet\">" + "<p style=\"font-family:'Lobster', serif; font-size:30px;\">Hello Google Font</p>" + "<i class=\"fa fa-coffee\" style=\"font-size:40px; color:#b00;\"></i>") .SaveAs("webfonts-icons.pdf"); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronPDF,免費試用! 免費試用30天 最小工作流程(5 個步驟) 下載用於在 PDF 中設定字體的 C# 庫 IronPDF 使用 HTML 從外部來源匯入或請求字體 延遲渲染過程以確保正確的字體加載 如常渲染 HTML 至 PDF 使用在 CSS 樣式中使用 @font-face 規則導入字體文件 如何在 PDF 中使用 WebFonts 和圖示? IronPDF 支援WebFonts (例如 Google Fonts 和 Adobe Web Font API)和圖示字體,例如 Bootstrap 和FontAwesome使用的字體。 這種支援使 IronPDF 適合需要精密排版的專案,從簡單的文件到包含品牌元素的複雜報表。 字體通常需要延遲渲染才能正確載入。 如果字體載入不正確,可能會導致頁面空白,沒有任何文字。 您可以使用WaitFor.AllFontsLoaded方法,透過為其分配最大等待時間來等待所有字體載入完畢。 預設的最長等待時間為 500ms 。 對於涉及 JavaScript 或動態內容的更複雜情況,請參閱我們的 HTML to PDF 教學,其中涵蓋進階的渲染技術。 以下是如何在專案中使用名為 Lobster 的WebFont的小範例。 :path=/static-assets/pdf/content-code-examples/how-to/webfonts-webicons-render-webfont.cs using IronPdf; // HTML contains webfont var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster"" rel=""stylesheet""> <p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>"; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Wait for font to load renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000); // Render HTML to PDF PdfDocument pdf = renderer.RenderHtmlAsPdf(html); // Export the PDF pdf.SaveAs("font-test.pdf"); $vbLabelText $csharpLabel 在'WaitFor' Class Documentation](/how-to/waitfor/)上探索更多WaitFor選項,例如針對字型、JavaScript、HTML 元素和網路閒置的選項。對於根據螢幕大小調整字型的回應式設計,請查看我們的 PDF 渲染的回應式 CSS 指南](/how-to/html-to-pdf-responsive-css/)。 為什麼字型載入時間很重要? 如果字體載入不正確,可能會導致頁面空白,沒有任何文字。 您可以使用WaitFor.AllFontsLoaded方法,透過為其分配最大等待時間來等待所有字體載入完畢。 預設的最長等待時間為 500ms 。 在處理複雜的 Web 應用程式或將 WebGL 內容渲染至 PDF 時,需要依序載入多個資源,因此時間上的考量尤其重要。 字型載入延遲會因多種因素而異,包括網路速度、字型檔案大小和伺服器回應時間。當使用多種自訂字型或圖示庫時,建議增加等待時間,以確保所有排版都能正確呈現。 這對於專業文件尤其重要,因為字體遺失可能會影響可讀性和品牌一致性。 支援哪些字型服務? IronPDF 支援WebFonts (例如 Google Fonts 和 Adobe Web Font API)和圖示字體,例如 Bootstrap 和FontAwesome使用的字體。 此外,IronPdf 還支援以下功能: Google 字體 (整個目錄) Adobe 字體 (Typekit) Font Awesome 圖示(所有版本) Bootstrap 圖示 材質設計圖示 透過 CSS @import 或 link 標籤自訂網頁字型服務 各種格式的自主字型檔案 (TTF、OTF、WOFF、WOFF2) 如果字型無法正常載入會如何? 字體通常需要延遲渲染才能正確載入。 如果字體載入不正確,可能會導致頁面空白,沒有任何文字。 在這種情況下,瀏覽器通常會回退到系統預設字型,這可能會破壞您文件的視覺一致性。 IronPDF 提供多種機制來處理字型載入失敗: 1.回傳字型鏈:在 CSS font-family 聲明中定義多種字型 2.延長等待時間:針對較慢的連線速度,增加 AllFontsLoaded 超時時間 3.本地字型嵌入:使用 @font-face 與 base64 編碼的字型以確保可用性 4.字體預載:使用 HTML 預載標籤來優先載入字型 如何直接匯入字型檔案? 若要使用現有的字體文件,請在 CSS 樣式中套用@font-face規則。 在結合使用 @font-face 規則和嵌入 base64 編碼的 woff 檔案時,也能發揮作用。 在下面的範例中,我將使用Pixelify Sans 字體。 :path=/static-assets/pdf/content-code-examples/how-to/webfonts-webicons-custom-font.cs using IronPdf; // Import custom font string html = @"<!DOCTYPE html> <html> <head> <style> @font-face {font-family: 'Pixelify'; src: url('fonts\PixelifySans-VariableFont_wght.ttf'); } p { font-family: 'Pixelify'; font-size: 70px; } </style> </head> <body> <p>Custom font</p> </body> </html>"; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render HTML to PDF PdfDocument pdf = renderer.RenderHtmlAsPdf(html); // Export the PDF pdf.SaveAs("customFont.pdf"); $vbLabelText $csharpLabel 我可以使用哪些字型檔案格式? 若要使用現有的字體文件,請在 CSS 樣式中套用@font-face規則。 在結合使用 @font-face 規則和嵌入 base64 編碼的 woff 檔案時,也能發揮作用。 IronPDF 支援下列字型檔案格式: TTF(TrueType 字型):廣泛支援,是螢幕和印刷的理想選擇 OTF(開放式字型):先進的排版功能,適用於專業文件 WOFF(網路開放字型格式):專為網頁使用而優化的壓縮格式 WOFF2:比 WOFF 更好的壓縮,更小的檔案大小 EOT(內嵌 OpenType):舊版瀏覽器的傳統格式 SVG 字型:以向量為基礎的字型 (在某些平台上有限制) 何時應該使用本機字型 vs 網路字型? 若要使用現有的字體文件,請在 CSS 樣式中套用@font-face規則。 本地字體和網頁字體之間的選擇取決於幾個因素: 在下列情況下使用本地字體: 離線工作或在受限制的網路環境中工作 要求保證字型可用性 處理專屬或授權字型 最佳化以加快呈現速度,避免網路延遲 製作有嚴格合規要求的文件 在下列情況下使用網路字型: 使用像 Google Fonts 這樣的大型字體庫 要求自動更新字型檔案 最小化應用程式包大小 應付經常改變的排版需求 建立已經依賴網際網路連線的應用程式 使用 Azure 時有哪些限制? Azure 託管平台不支援伺服器在其較低共用 Web 應用程式層載入 SVG 字型。 然而,Azure 的 VPS 和 Web 角色並非以相同的方式進行沙盒隔離,並且支援 Web 字體渲染。 如需詳細的 Azure 部署指南,請參閱我們的Azure 部署指南,其中涵蓋所有特定層級的限制和變通方法。 哪些 Azure 層級支援字型渲染? 然而,Azure 的 VPS 和 Web 角色並非以相同的方式進行沙盒隔離,並且支援 Web 字體渲染。 以下是 Azure 層級支援的細目: 完整字型支援: Azure 虛擬機器(所有規模) Azure 網路角色 App Service Premium 層級 (P1v2, P2v2, P3v2) 應用程式服務獨立層 有限的字型支援: 應用程式服務基本層 (B1, B2, B3) - 僅限網頁字型 應用程式服務標準層級 (S1, S2, S3) - 某些 SVG 字型限制 不支援自訂字型: 應用程式服務免費層級 (F1) 應用程式服務共用層 (D1) 為什麼較低的 Azure 層級有字型限制? Azure 主機平台由於沙箱限制和資源限制,不支援伺服器在其較低的共用網頁應用程式層級中載入 SVG 字型。 較低層級會實施嚴格的安全邊界,以防止自訂字型渲染所需的某些系統層級作業。 這些限制有助於 Azure 維護多租戶隔離,並防止共用環境中的資源濫用。 若要解決這些限制,請考慮 1.在 CSS 中以 base64 編碼字串的形式嵌入字型 2.僅使用來自 CDN 的網頁字型 3.在支援的環境中預先渲染 PDF 4.升級至具有完整字型支援的更高 Azure 層級 常見問題解答 如何在 PDF 文件中使用 Google 字體? IronPDF 透過 HTML 演算法支援 Google 字體。只需在 HTML 標頭部分包含 Google Fonts 連結,並在 CSS 中應用字型即可。IronPDF 將會在生成 PDF 時下載並呈現這些字體,確保您的自訂排版正確地顯示在最終文件中。 為什麼我的網頁字型無法正確顯示在生成的 PDF 中? 網頁字型在呈現之前通常需要時間載入。IronPDF 在 RenderingOptions 中提供了 WaitFor.AllFontsLoaded() 選項,允許您設定延遲時間(以毫秒為單位),以確保在 PDF 生成之前,字體已完全載入。這可防止遺失或錯誤渲染字體。 我可以在 PDF 中使用 FontAwesome 圖示嗎? 是的,IronPDF 完全支持 FontAwesome 和其他图标字体。在您的 HTML 中包含 FontAwesome CSS,並使用適當的圖示類別。IronPDF 會在您的 PDF 中將這些圖示字體渲染為向量圖形,保持它們的可擴展性和視覺品質。 如何使用 @font-face 來使用本機字型檔案? IronPDF 支援 CSS @font-face 規則,用於載入本機字型檔案。在 CSS 中定義 @font-face 規則,指定字型檔案路徑,然後將字型套用至 HTML 元素。IronPDF 會在渲染時將這些自訂字型直接嵌入 PDF 中。 PDF 生成支援哪些字型格式? 透過 CSS @font-face 規則或外部字型服務使用時,IronPdf 支援標準的網頁字型格式,包括 WOFF、WOFF2、TTF 和 OTF 檔案。這可確保與現今絕大多數的現代網路字型和圖示字型相容。 如何確保不同系統的排版一致? IronPDF 將 Web 字體直接嵌入生成的 PDF 檔案中,無論閱讀者系統上安裝了何種字體,都能確保您自訂的排版顯示一致。這使其成為在分散式文件中維持品牌一致性的理想選擇。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 準備好開始了嗎? Nuget 下載 17,527,568 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:17,527,568 查看許可證