C# 获取PDF文档中的字体信息(字体名、大小、颜色、样式等

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; List<PdfTextFragment> 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()); } } }
上一篇:Formality:参考设计/实现设计以及顶层设计


下一篇:Docker下部署socks5和pptp服务端,实现代理上网