如何管理 PDF 中的字體
字體是一組具有一致風格和設計的字符、符號和字形。它代表了特定的字型、大小、粗細和風格。 (例如常規體、粗體、斜體等。) 文字。字體在排版中用於以視覺上吸引和連貫的方式顯示文字。
IronPDF 提供了方便的字體管理方式,提供了查找字體、獲取字體、嵌入字體、取消嵌入字體和替換字體等功能。
如何管理 PDF 中的字體
立即開始在您的專案中使用IronPDF,並享受免費試用。
查看 IronPDF 上 Nuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變PDF。
Install-Package IronPdf
請考慮安裝 IronPDF DLL 直接下載並手動安裝到您的專案或GAC表單: IronPdf.zip
手動安裝到您的項目中
下載DLL查找並檢索字體
獲取字體
訪問 Fonts 屬性將返回 PdfFontCollection 物件,其中包含文檔中所有字體的列表。可以通過遍歷 PdfFontCollection 物件直接訪問 Fonts 屬性。
: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 對象,我們可以將字體名稱作為字符串放在方括號中指定。例如:Fonts ["SpecialFontName"]這將返回一個 PdfFont 物件,我們可以用來檢查屬性和執行額外的方法。
: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")
添加字體
使用 Add
方法來添加標準字體和字體文件作為字節數據。 Add
方法僅接受其中之一的字體名稱。 14種標準字體添加標準字體不會將其嵌入,因為標準字體在操作系統上已保證可用。
: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")
嵌入字體
嵌入字體是指將字體的位元流數據包含在 PDF 文件本身中。這樣一來,查看 PDF 文件時無需在系統上安裝字體即可正確顯示。雖然這通常會增加 PDF 文件的檔案大小,但在不需要額外安裝字體的情況下,對於視覺一致性是有益的。
:path=/static-assets/pdf/content-code-examples/how-to/manage-font-embed-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Linq;
// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Select which font to embed
PdfFont targetFont = pdf.Fonts["MyCustomFont"];
// Add the font
byte[] fontData = System.IO.File.ReadAllBytes("dir/to/font.ttf");
pdf.Fonts.Add(fontData);
// Embed the font
pdf.Fonts.Last().Embed(fontData);
Imports IronPdf
Imports IronPdf.Fonts
Imports System.Linq
' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Select which font to embed
Private targetFont As PdfFont = pdf.Fonts("MyCustomFont")
' Add the font
Private fontData() As Byte = System.IO.File.ReadAllBytes("dir/to/font.ttf")
pdf.Fonts.Add(fontData)
' Embed the font
pdf.Fonts.Last().Embed(fontData)
拆除嵌入字型
拆除嵌入字型是指移除包含在 PDF 文件中的嵌入字型的位元流資料。目的是減少 PDF 文件的檔案大小。使用 Unembed
方法來實現這一點。
: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 檔案中原有的字體數據結構,例如樣式和字符編碼,但會將其替換為新指定的字體。使用者必須確保新字體與原字體良好對齊。
在繼續之前
: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)
標準字體
PDF 中的 14 種標準字體,也被稱為「Base 14 字體」或「標準 Type 1 字體」,是 PDF 檢視器廣泛支援的一組字體,不需要嵌入到文件中。標準字體定義了 14 種保證的字體。 (根據 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
標準字體對應
為了便於參考標準字體,多個字符串名稱指向相同的字體。
對應至 Courier
- StandardFont.Courier
- Courier
- CourierNew
- CourierNewPSMT
- CourierStd
對應至 Courier-Bold
- StandardFont.CourierBold
- Courier,Bold
- Courier-Bold
- CourierBold
- CourierNew,Bold
- CourierNew-Bold
- CourierNewBold
- CourierNewPS-BoldMT
- CourierStd-Bold
對應至 Courier-Oblique
- StandardFont.CourierOblique
- Courier,Italic
- Courier-Oblique
- CourierItalic
- CourierNew,Italic
- CourierNew-Italic
- CourierNewItalic
- CourierNewPS-ItalicMT
- CourierStd-Oblique
對應至 Courier-BoldOblique
- StandardFont.CourierBoldOblique
- Courier,BoldItalic
- Courier-BoldOblique
- CourierBoldItalic
- CourierNew,BoldItalic
- CourierNew-BoldItalic
- CourierNewBoldItalic
- CourierNewPS-BoldItalicMT
- CourierStd-BoldOblique
對應至 Helvetica
- StandardFont.Helvetica
- Arial
- ArialMT
- Helvetica
對應至 Helvetica-Bold
- StandardFont.HelveticaBold
- Arial,Bold
- Arial-Bold
- Arial-BoldMT
- ArialBold
- ArialMT,Bold
- ArialRoundedMTBold
- Helvetica,Bold
- Helvetica-Bold
- HelveticaBold
對應至 Helvetica-Oblique
- StandardFont.HelveticaOblique
- Arial,Italic
- Arial-Italic
- Arial-ItalicMT
- ArialItalic
- ArialMT,Italic
- Helvetica,Italic
- Helvetica-Italic
- Helvetica-Oblique
- HelveticaItalic
對應至 Helvetica-BoldOblique
- StandardFont.HelveticaBoldOblique
- Arial,BoldItalic
- Arial-BoldItalic
- Arial-BoldItalicMT
- ArialBoldItalic
- ArialMT,BoldItalic
- Helvetica,BoldItalic
- Helvetica-BoldItalic
- Helvetica-BoldOblique
- HelveticaBoldItalic
對應至 Times-Roman
- StandardFont.Times
- Times-Roman
- TimesNewRoman
- TimesNewRomanPS
- TimesNewRomanPSMT
對應至 Times-Bold
- StandardFont.TimesBold
- Times-Bold
- TimesBold
- TimesNewRoman,Bold
- TimesNewRoman-Bold
- TimesNewRomanBold
- TimesNewRomanPS-Bold
- TimesNewRomanPS-BoldMT
- TimesNewRomanPSMT,Bold
對應至 Times-Italic
- StandardFont.TimesOblique
- Times-Italic
- TimesItalic
- TimesNewRoman,Italic
- TimesNewRoman-Italic
- TimesNewRomanItalic
- TimesNewRomanPS-Italic
- TimesNewRomanPS-ItalicMT
- TimesNewRomanPSMT,Italic
對應至 Times-BoldItalic
- StandardFont.TimesBoldOblique
- Times-BoldItalic
- TimesBoldItalic
- TimesNewRoman,BoldItalic
- TimesNewRoman-BoldItalic
- TimesNewRomanBoldItalic
- TimesNewRomanPS-BoldItalic
- TimesNewRomanPS-BoldItalicMT
- TimesNewRomanPSMT,BoldItalic
對應至 Symbol
- StandardFont.Symbol
- Symbol
- SymbolMT
對應至 ZapfDingbats
- StandardFont.Dingbats
- ZapfDingbats