使用iTextSharp提取文本格式的方法
虽然iTextSharp提供有效的文本提取方法,但在保留字体、颜色和大小等格式细节方面可能存在不足。为了克服这个限制,我们探索了一种替代方法。
自定义文本提取策略
自定义的TextWithFontExtractionStategy
类扩展了ITextExtractionStrategy
接口来捕获格式信息。在RenderText
方法中:
示例输出
下面的C#代码演示了如何从PDF中提取文本以及与字体相关的格式:
<code class="language-csharp">StringBuilder result = new StringBuilder(); PdfReader reader = new PdfReader(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Document.pdf")); TextWithFontExtractionStategy S = new TextWithFontExtractionStategy(); string F = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, 1, S); Console.WriteLine(F);</code>
生成的HTML输出包含字体系列、字体大小和字体样式的标签。
其他考虑因素
PostscriptFontName
可能包含额外的字符,这可能与字体子集相关。以上是如何使用 iTextSharp 从 PDF 中检索文本格式(字体、大小、样式)?的详细内容。更多信息请关注PHP中文网其他相关文章!