首页 新闻 会员 周边

关于C#PDFreader读取PDF文件的问题

-1
悬赏园豆:20 [待解决问题]

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原来的格式不一样,字与字之间会多出来很多个空格,求大神指导,怎么样才可以保持原来的格式读取。

靓小欣的主页 靓小欣 | 初学一级 | 园豆:55
提问于:2018-03-03 09:55

mark,同样遇到

云飞扬IT 4年前
< >
分享
所有回答(2)
-1

https://www.cnblogs.com/freeliver54/p/5048532.html

_Vegetables | 园豆:586 (小虾三级) | 2018-03-03 12:46
-1

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());
ms_doudou | 园豆:1166 (小虾三级) | 2018-03-05 11:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册