手机网站 动态 页面 好 静态页面好,手机app开发工具有哪些,专业中山建网站公司,注册企业邮箱哪家最好在设计和出版行业中#xff0c;字体的选择和使用对最终作品的质量有着重要影响。然而#xff0c;有时我们可能会遇到包含未知字体的PDF文件#xff0c;这使得我们无法准确地复制或修改文档。获取PDF中的字体信息可以解决这个问题#xff0c;让我们能够更好地处理这些文件。…在设计和出版行业中字体的选择和使用对最终作品的质量有着重要影响。然而有时我们可能会遇到包含未知字体的PDF文件这使得我们无法准确地复制或修改文档。获取PDF中的字体信息可以解决这个问题让我们能够更好地处理这些文件。无论是用于重新设计、文档翻译还是个人学习了解如何获取PDF中的字体信息都是一项非常有用的技能。本文将介绍如何通过C#获取PDF中指定文本或所有文本的字体信息。 文章目录 C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息  获取字体的操作需要用到第三方库 Spire.PDF for .NET我们可以通过以下链接下载产品包后手动添加引用或者直接通过NuGet安装。 ▶ 点击下载 Spire.PDF for.NET C# 获取PDF中指定文本的字体信息 
通过使用Spire.PDF for .NET提供的 PdfTextFragment 类下的各属性我们可以获取字体名称、大小、样式和颜色。主要实现步骤如下 
加载 PDF 文件然后获取指定页面。通过 PdfTextFinder.Find() 方法查找指定文本并返回一个 PdfTextFragment 对象。创建一个StringBuilder实例来存储信息。遍历所有查找到的文本通过 PdfTextFragment.Text 属性获取找到的文本内容。通过 PdfTextFragment.TextStates[0].FontName 属性获取找到的文本的字体名称。通过 PdfTextFragment.TextStates[0].FontSize 属性获取找到的文本的字体大小。通过 PdfTextFragment.TextStates[0].FontFamily 属性获取找到的文本的字体类型。通过 PdfTextFragment.TextStates[0].IsBold 和 PdfTextFragment.TextStates[0].IsSimulateBold 属性指示字体是否加粗或模拟加粗字体样式设置为填充和描边。通过 PdfTextFragment.TextStates[0].IsItalic 属性指示字体是否为斜体.使用 PdfTextFragment.TextStates[0].ForegroundColor 属性获取找到的文本的字体颜色。将获取到的字体信息添加到StringBuilder实例中然后写入 txt 文件。 
C#代码 
using Spire.Pdf;
using Spire.Pdf.Texts;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text;namespace GetTextFont
{class Program{static void Main(string[] args){// 加载PDF文件PdfDocument pdf  new PdfDocument();pdf.LoadFromFile(E:\\PythonPDF\\南极.pdf);// 获取第一页PdfPageBase page  pdf.Pages[0];// 创建PdfTextFinder实例PdfTextFinder finds  new PdfTextFinder(page);// 查找页面上指定文本finds.Options.Parameter  TextFindParameter.None;ListPdfTextFragment result  finds.Find(南极洲);// 创建StringBuilder实例StringBuilder str  new StringBuilder();// 遍历所有查找到的文本foreach (PdfTextFragment find in result){// 获取文本string text  find.Text;// 获取字体名string FontName  find.TextStates[0].FontName;// 获取字体大小float FontSize  find.TextStates[0].FontSize;// 获取字体类型string FontFamily  find.TextStates[0].FontFamily;// 判断是否加粗或模拟加粗bool IsBold  find.TextStates[0].IsBold;bool IsSimulateBold  find.TextStates[0].IsSimulateBold;// 判断是否为斜体bool IsItalic  find.TextStates[0].IsItalic;// 获取字体颜色Color color  find.TextStates[0].ForegroundColor;// 将获取到的信息添加到StringBuilder实例中str.AppendLine(text);str.AppendLine(字体名   FontName);str.AppendLine(字体大小   FontSize);str.AppendLine(字体系列   FontFamily);str.AppendLine(是否加粗   IsBold);str.AppendLine(是否模拟加粗   IsSimulateBold);str.AppendLine(是否为斜体   IsItalic);str.AppendLine(字体颜色  color);str.AppendLine( );}// 写入一个txt文件File.WriteAllText(Pdf字体.txt, str.ToString());}}
}C# 获取PDF文档中用到的所有字体信息 
PdfUsedFont 类表示PDF文档中使用到的字体它提供了不同的属性来帮助我们获取字体名称、大小、类型和样式等。主要实现步骤如下 
加载 PDF 文件。通过 PdfDocument.UsedFonts 属性获取 PDF 文件中使用的所有字体。创建一个StringBuilder实例来存储信息。遍历所有使用到的字体。通过 PdfUsedFont.Name 属性获取字体名称。通过 PdfUsedFont.Size 属性获取字体大小。通过 PdfUsedFont.Type 属性获取字体类型。通过 PdfUsedFont.Style 属性获取字体样式。将获取到的字体信息添加到StringBuilder实例中然后写入 txt 文件。 
C#代码 
using Spire.Pdf;
using Spire.Pdf.Graphics.Fonts;
using Spire.Pdf.Graphics;
using System.IO;
using System.Text;namespace GetTextFont
{class Program{static void Main(string[] args){// 加载PDF文件PdfDocument pdf  new PdfDocument();pdf.LoadFromFile(E:\\PythonPDF\\南极.pdf);// 获取PDF文件中使用到的字体PdfUsedFont[] fonts  pdf.UsedFonts;// 创建StringBuilder实例StringBuilder str  new StringBuilder();// 遍历所有使用到的字体foreach (PdfUsedFont font in fonts){// 获取字体名string name  font.Name;// 获取字体大小float size  font.Size;// 获取字体类型PdfFontType type  font.Type;// 获取字体样式PdfFontStyle style  font.Style;// 将获取到的信息添加到StringBuilder实例中str.AppendLine(字体名称   name   字体大小   size   字体类型   type   字体样式   style);}// 写入一个txt文件File.WriteAllText(Pdf字体信息.txt, str.ToString());}}
}