如何使用 C# PDF編輯:管理 PDF 中的字型
IronPDF 可在 C# 中實現全面的字型管理,包括在 PDF 文件中查找、新增、嵌入、解除嵌入和更換字型,以確保在所有平台上顯示一致的文字。
字體是一組具有一致風格和設計的字元、符號和字形。 它代表文字的特定字體、大小、粗細和樣式(例如常規、粗體、斜體等)。 字體在排版中用於以視覺上吸引人且連貫的方式顯示文字。
IronPDF 提供了一種便捷的字體管理方式,提供了尋找字體、獲取字體、嵌入字體、取消嵌入字體和替換字體等功能。 無論您是建立新的 PDF 或編輯現有的文件,適當的字型管理都能確保您的 PDF 在所有平台和裝置上都能正確顯示。
快速入門:管理和嵌入 PDF 中的字體
立即使用 IronPDF 簡化 PDF 文件中的字型管理。 本指南說明如何在 PDF 中嵌入字型,以達到跨平台的視覺一致性。 只需幾行程式碼,您就可以增強文件的外觀並維持相容性。
-
使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf
PM > Install-Package IronPdf -
複製並運行這段程式碼。
ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<p style='font-family:MyCustomFont;'>Hello world!</p>"); pdf.Fonts.Add(File.ReadAllBytes("MyCustomFont.ttf")) .Embed(); pdf.SaveAs("withCustomFont.pdf"); -
部署到您的生產環境進行測試
今天就在您的專案中開始使用免費試用IronPDF
最小工作流程(5 個步驟)
- 下載 IronPDF C# 庫
- 使用
Add方法將字型新增至集合中 - 使用
Embed方法嵌入字型,以獲得持久的視覺效果 - 使用
Unembed方法減少檔案大小 - Replace fonts easily with the `Replace` method
如何在 PDF 中尋找和擷取字型?
如何從 PDF 擷取所有字型?
存取 Fonts 屬性會傳回包含所有文件字型的 PdfFontCollection 物件。 可以透過遍歷 PdfFontCollection 物件直接存取 Fonts 屬性。 這在處理 IronPDF 表單或分析文件結構時尤其有用。
:path=/static-assets/pdf/content-code-examples/how-to/manage-font-retrieve-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Collections.Generic;
// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Retreive font
PdfFontCollection fonts = pdf.Fonts;
Imports IronPdf
Imports IronPdf.Fonts
Imports System.Collections.Generic
' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Retreive font
Private fonts As PdfFontCollection = pdf.Fonts
如何根據字型名稱找到特定字型?
使用 IronPDF 可以直接找到特定的字型。 使用 PdfFontCollection 對象,指定字體名稱以存取字體對象並檢查屬性。 當您需要重新取代 PDF 文件中的文字,同時保持字型一致時,此功能是不可或缺的。
:path=/static-assets/pdf/content-code-examples/how-to/manage-font-find-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Collections.Generic;
using System.Linq;
// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Find font
PdfFont font = pdf.Fonts["SpecialFontName"];
Imports IronPdf
Imports IronPdf.Fonts
Imports System.Collections.Generic
Imports System.Linq
' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Find font
Private font As PdfFont = pdf.Fonts("SpecialFontName")
如何在 PDF 中加入字型?
使用 Add 方法以位元組資料的形式新增標準字型或字型檔。 接受字型名稱的方法只接受 14 種標準字型中的一種。 添加標準字型不會嵌入其中,因為這些字型在作業系統上保證可用。 當 將 HTML 轉換為 PDF 時,IronPDF 會自動處理 HTML 中的網頁字型。
:path=/static-assets/pdf/content-code-examples/how-to/manage-font-add-font.cs
using IronPdf;
using IronPdf.Fonts;
// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Add font
pdf.Fonts.Add("Helvetica");
Imports IronPdf
Imports IronPdf.Fonts
' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Add font
pdf.Fonts.Add("Helvetica")
對於進階的字型管理,包括 web 字型和圖示字型,IronPDF 提供全面的支援,滿足現代排版的需求。
為什麼要在 PDF 中嵌入字體?
嵌入字型包括 PDF 文件中字型的位元組流資料。 這可確保正確顯示,而不需要在檢視系統上安裝字型。 雖然這樣會增加檔案大小,但卻能保證視覺上的一致性。 這在建立 IronPDF/A 相容的文件或確保文件的可移植性時至關重要。
:path=/static-assets/pdf/content-code-examples/how-to/manage-font-embed-font.cs
using IronPdf;
using System.Linq;
// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Add the font
byte[] fontData = System.IO.File.ReadAllBytes("dir/to/font.ttf");
// Embed the font
pdf.Fonts.Last().Embed(fontData);
Imports IronPdf
Imports System.Linq
' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Add the font
Private fontData() As Byte = System.IO.File.ReadAllBytes("dir/to/font.ttf")
' Embed the font
pdf.Fonts.Last().Embed(fontData)
字型嵌入對於國際語言和 UTF-8 支援尤其重要,以確保字元在所有系統中都能正確顯示。
何時應該從 PDF 中解除嵌入字體?
取消嵌入會從 PDF 檔案中移除嵌入的字體位元組流數據,從而減少檔案大小。可以使用 Unembed 方法來實現此操作。 此技術與 IronPDF 壓縮策略搭配使用,可將檔案大小降至最低。
:path=/static-assets/pdf/content-code-examples/how-to/manage-font-unembed-font.cs
using IronPdf;
using IronPdf.Fonts;
// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Get fonts
PdfFontCollection fonts = pdf.Fonts;
// Unembed a font
pdf.Fonts[0].Unembed();
Imports IronPdf
Imports IronPdf.Fonts
' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Get fonts
Private fonts As PdfFontCollection = pdf.Fonts
' Unembed a font
pdf.Fonts(0).Unembed()
如果不常用的字型在解除嵌入後缺乏回退功能,可能會在輸出的 PDF 中出現損壞。 檢查 Adobe 是否顯示相同的問題 - 如果是,這是預期的行為。 如果不符合要求,請聯絡支援部門進行調查。 損壞的字體顯示如下:
如何替換 PDF 文件中的字型?
字型替換保留原始字型資料結構,包括樣式和字元編碼,同時替換指定的字型。 確保新字型與原始字型一致。 此功能在 編輯 PDF 或標準化各文件的字型時非常有用。
在極少數情況下,視覺效果可能無法完全吻合。 這是字型替換方法目前的限制。
:path=/static-assets/pdf/content-code-examples/how-to/manage-font-replace-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Linq;
// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
byte[] fontData = System.IO.File.ReadAllBytes("dir/to/font.ttf");
// Get and replace Font
pdf.Fonts["Courier"].ReplaceWith(fontData);
Imports IronPdf
Imports IronPdf.Fonts
Imports System.Linq
' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
Private fontData() As Byte = System.IO.File.ReadAllBytes("dir/to/font.ttf")
' Get and replace Font
pdf.Fonts("Courier").ReplaceWith(fontData)
什麼是 14 種標準 PDF 字型?
14 種標準字型(Base 14 Fonts 或 Standard Type 1 Fonts)在 PDF 檢視器中廣泛支援,且不需要嵌入。 PDF 標準保證這些字型在處理 PDF 文件時可用。 在 從各種來源建立 PDF 時,這些字型對於維持相容性是不可或缺的。
- Courier
- Courier-Bold
- Courier-Oblique
- Courier-BoldOblique
- Helvetica
- Helvetica-Bold
- Helvetica-Oblique
- Helvetica-BoldOblique
- Times-Roman
- Times-Bold
- Times-Italic
- Times-BoldItalic
- Symbol
- ZapfDingbats
哪些字型名稱可對應至標準字型?
為了方便起見,多個字串名稱指向相同的標準字型。 在使用不同的 PDF 工具以及 合併或分割 PDF 時,此對應系統可確保相容性。
地圖到快遞
StandardFont.Courier- 導遊
- 速遞新
- 速遞新PSMT
- 快遞標準
前往 Courier-Bold 的地圖
StandardFont.CourierBold- 導遊,大膽
- 導遊-Bold
- 導遊Bold
- 速遞新,大膽
- 速遞新-Bold
- 速遞新Bold
- 速遞新PS-BoldMT
- 快遞標準-Bold
前往信差斜線的地圖
StandardFont.CourierOblique- 快遞員,斜體
- 斜向信使
- 導遊Italic
- 速遞新,斜體
- 速遞新-Italic
- 速遞新Italic
- 速遞新PS-ItalicMT
- 快遞標準-Oblique
地圖到 Courier-BoldOblique
StandardFont.CourierBoldOblique- 導遊,粗斜體
- 導遊-BoldOblique
- 導遊BoldItalic
- 速遞新,粗斜體
- 速遞新-BoldItalic
- 速遞新BoldItalic
- 速遞新PS-BoldItalicMT
- 快遞標準-BoldOblique
前往 Helvetica 的地圖
StandardFont.Helvetica- Arial
- ArialMT
- Helvetica
映射到 Helvetica-Bold
StandardFont.HelveticaBold- Arial,粗體
- Arial-粗體
- Arial-粗體MT
- Arial粗體
- ArialMT,粗體
- ArialRoundedMTBold
- Helvetica,粗體
- 黑體
- Helvetica粗體
映射到 Helvetica-Oblique
StandardFont.HelveticaOblique- Arial,斜體
- Arial-Italic
- Arial-ItalicMT
- ArialItalic
- ArialMT,斜體
- Helvetica,斜體
- Helvetica-Italic
- Helvetica-Oblique
- HelveticaItalic
映射到 Helvetica-BoldOblique
StandardFont.HelveticaBoldOblique- Arial、粗斜體
- Arial-粗斜體
- Arial-粗斜體MT
- Arial粗斜體
- ArialMT,粗斜體
- Helvetica,粗斜體
- 黑體Italic
- 黑體Oblique
- Helvetica粗斜體
地圖轉 Times Roman 字體
StandardFont.Times- Times-Roman
- TimesNewRoman TimesNewRomanPS TimesNewRomanPSMT
地圖至時代粗體
StandardFont.TimesBold- 時代粗體
- TimesBold
- TimesNewRoman,粗體
- TimesNewRoman-粗體
- TimesNewRoman粗體 TimesNewRomanPS-Bold TimesNewRomanPS-BoldMT TimesNewRomanPSMT,粗體
地圖到 Times-Italic
StandardFont.TimesOblique- 時代意大利語
- TimesItalic Times New Roman,斜體 TimesNewRoman-Italic
- TimesNewRoman 英語 TimesNewRomanPS-Italic TimesNewRomanPS-ItalicMT TimesNewRomanPSMT,斜體
地圖到 Times-粗斜體
StandardFont.TimesBoldOblique- Times-粗斜體
- TimesBoldItalic
- TimesNewRoman,粗斜體
- TimesNewRoman-粗體Italic
- TimesNewRoman粗體Italic TimesNewRomanPS-粗斜體 TimesNewRomanPS-粗斜體MT TimesNewRomanPSMT,粗斜體
映射到符號
StandardFont.Symbol- 象徵
- 符號管理
前往 ZapfDingbats 的地圖
StandardFont.Dingbats- ZapfDingbats
常見問題解答
如何使用 C# 在 PDF 文件中嵌入自訂字型?
透過 IronPDF,您可以利用 Fonts 集合的 Add 方法,接著呼叫 Embed 方法來嵌入自訂字型。只需將字型檔案載入為位元組陣列,並將其加入 PDF 即可:pdf.Fonts.Add(File.ReadAllBytes("MyCustomFont.ttf")).Embed()。這能確保您的 PDF 檔案在所有平台上都能正確顯示。
如何檢索現有 PDF 文件中的所有字型?
IronPDF 透過 Fonts 屬性提供對所有文件字型的存取,而 Fonts 屬性會回傳一個 PdfFontCollection 物件。您可以遍歷這個集合來擷取字型資訊,包括字型名稱、嵌入狀態和字型類型,讓您可以輕鬆分析文件結構和字型使用情況。
在 PDF 中根據名稱查找特定字型的最佳方法是什麼?
IronPDF 允許您使用 PdfFontCollection 物件來尋找特定的字型。您可以透過指定字型名稱來搜尋字型,這樣就可以存取字型物件及其屬性。當您需要替換或修改 PDF 文件中的特定字型時,此功能尤其有用。
我可以移除內嵌字型以縮小 PDF 檔案大小嗎?
是的,IronPDF 提供了 Unembed 方法,可讓您移除 PDF 文件中的內嵌字體。這可以在保持文件結構的同時大幅減少文件大小,不過這可能會影響 PDF 在未安裝所需字體的系統上的顯示效果。
如何替換現有 PDF 文件中的字型?
IronPDF 提供的 Replace 方法可讓字型更換變得簡單直接。您可以輕鬆地將 PDF 文件中的現有字體更換為新字體,這對於保持品牌一致性或使用現代字體更新舊文件非常有用。

