如何管理 PDF 中的字体
字体是一组具有一致样式和设计的字符、符号和字形。 它代表了特定的字体、大小、重量和风格。(如普通、粗体、斜体等。)的文本。 字体在排版中用于以视觉上吸引人且连贯的方式显示文本。
IronPDF提供了一种方便的方式来管理字体,提供了寻找字体、获取字体、嵌入字体、取消嵌入字体和替换字体等功能。
查找和检索字体
检索字体
访问 Fonts 属性将返回 PdfFontCollection 对象,该对象包含文档中所有字体的列表。 字体属性可以通过迭代 PdfFontCollection 对象直接访问。
: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对象,我们可以将字体名称指定为用方括号括起来的字符串。 例如:字体["特殊字体名称"]. 这将返回一个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
方法只接受一种字体名称。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种标准字体,也被称为“基本14字体”或“标准类型1字体”,是一组在PDF查看器中得到广泛支持的字体,无需嵌入到文档中。 标准字体定义了14种保证字体。(根据 PDF 文档标准)在处理PDF文档时需要可用。
快递员
Courier-Bold
Courier-Oblique
Courier-BoldOblique
Helvetica
Helvetica-Bold
Helvetica-Oblique
Helvetica-BoldOblique
Times-Roman
Times-Bold
Times-Italic
Times-BoldItalic
符号
ZapfDingbats
标准字体映射
为了在引用标准字体时方便,多个字符串名称指向同一个字体。
映射到Courier
StandardFont.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-斜体
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,斜体
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,加粗
TimesNewRoman-Bold
TimesNewRomanBold
TimesNewRomanPS-Bold
TimesNewRomanPS-BoldMT
TimesNewRomanPSMT,Bold
映射到Times-Italic
StandardFont.TimesOblique
Times-Italic
TimesItalic
TimesNewRoman,斜体
TimesNewRoman-Italic
TimesNewRomanItalic
TimesNewRomanPS-Italic
TimesNewRomanPS-ItalicMT
- TimesNewRomanPSMT, 斜体
映射到Times-BoldItalic
StandardFont.TimesBoldOblique
Times-BoldItalic
TimesBoldItalic
TimesNewRoman,BoldItalic
TimesNewRoman-BoldItalic
TimesNewRomanBoldItalic
TimesNewRomanPS-BoldItalic
TimesNewRomanPS-BoldItalicMT
TimesNewRomanPSMT,BoldItalic
映射至符号
StandardFont.Symbol
- 符号
SymbolMT
映射到ZapfDingbats
StandardFont.Dingbats
ZapfDingbats