首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ITextSharp在C#中无法读取pdf中的文本

ITextSharp在C#中无法读取pdf中的文本
EN

Stack Overflow用户
提问于 2014-05-21 04:52:12
回答 2查看 3.2K关注 0票数 0

我有两个pdf文件。在Sercurity选项卡上,两个文件都设置了Security方法:无安全性和文档程序集:不允许,页提取:不允许。其他项目是允许的。我使用standart ITextSharp方法从pdf中检索文本:

代码语言:javascript
运行
复制
PdfReader pdfReader = new PdfReader(fileName);

                for (int page = 1; page <= pdfReader.NumberOfPages; page++)
                {
                    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy(); //LocationTextExtractionStrategy();
                    string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);

                    currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
                    text.Append(currentText);

从第一个文件中,我可以从第二个文件中得到currentText的任何问题,我无法检索文本,currentText是空的。我在尝试使用LocationTextExtractionStrategy,但是结果是一样的。我在SodaPDF中打开了这个文件并将其转换为txt文件,但是这个文件也是空的(而第一个文件被转换为txt,没有任何问题)。是否可以从C#或任何其他应用程序读取此文件中的文本?如果我购买Adobe,我会把这个文件转换成txt?这两个文件有什么区别?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-21 09:11:31

我在Aspose做社交媒体开发者。我建议您下载并尝试Aspose.Pdf for .NET将PDF转换为文本文件。如果您的文件包含图像,并且需要从这些图像中提取文本,则可以使用Aspose.Pdf将Pdf文件转换为图像,然后使用Aspose.OCR for .NET执行OCR。

下面是使用Aspose.Pdf for .NET将Aspose.Pdf转换为文本的示例代码

代码语言:javascript
运行
复制
//open document
Document pdfDocument = new Document("input.pdf");
//create TextAbsorber object to extract text
TextAbsorber textAbsorber = new TextAbsorber();
//accept the absorber for all the pages
pdfDocument.Pages.Accept(textAbsorber);
//get the extracted text
string extractedText = textAbsorber.Text;
// create a writer and open the file
TextWriter tw = new StreamWriter("extracted-text.txt");
// write a line of text to the file
tw.WriteLine(extractedText);
// close the stream
tw.Close();

请下载免费试用版并试用。

票数 0
EN

Stack Overflow用户

发布于 2014-05-21 06:58:13

可能有很多的pdf,实际上是图像。你不能像Bruno所说的那样从图像中提取pdf。你需要为这个选择第三方OCR。

您可以使用Acrobat将pdf转换为可编辑格式,如word、html。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23774209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档