StringBuilder Text = new StringBuilder();
PdfReader pdfReader = new PdfReader(FilePath);
int pageNumber = pdfReader.NumberOfPages;
for (int i = 1; i <= pageNumber; ++i)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
var a = PdfTextExtractor.GetTextFromPage(pdfReader, i, strategy);
var currentText = Encoding.UTF8.GetString(UTF8Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(a)));
Text.Append(currentText);
}
以上是我读取PDF文件中文字的代码。现在有个问题就是,读取出来的文字的格式会跟PDF原来的格式不一样,字与字之间会多出来很多个空格,求大神指导,怎么样才可以保持原来的格式读取。
https://www.cnblogs.com/freeliver54/p/5048532.html
用Spire.PDF提取文本可以保持文档原来的格式:
//实例化一个PdfDocument对象 PdfDocument doc = new PdfDocument(); //加载PDF文档 doc.LoadFromFile("测试文档.pdf"); //实例化一个StringBuilder 对象 StringBuilder content = new StringBuilder(); //提取PDF所有页面的文本 foreach (PdfPageBase page in doc.Pages) { content.Append(page.ExtractText()); } //将提取到的文本写为.txt格式并保存到本地路径 String fileName = "获取文本.txt"; File.WriteAllText(fileName, content.ToString());
mark,同样遇到
– 云飞扬IT 5年前