C# 我可以使用Telerik文档处理来阅读PDF内容吗?
我正在做一个项目,Telerik的文档处理库对我来说是一个很好的工具,我希望我能用它来阅读PDF文件并搜索我可以用于其他处理的特定文本。但是,虽然这样做的代码看起来很简单,但实际上我并没有得到预期的结果。这是我提出的概念证明:C# 我可以使用Telerik文档处理来阅读PDF内容吗?,c#,.net,pdf,telerik,C#,.net,Pdf,Telerik,我正在做一个项目,Telerik的文档处理库对我来说是一个很好的工具,我希望我能用它来阅读PDF文件并搜索我可以用于其他处理的特定文本。但是,虽然这样做的代码看起来很简单,但实际上我并没有得到预期的结果。这是我提出的概念证明: var fs = new FileStream("..\\some.pdf", FileMode.Open); RadFixedDocument doc = new PdfFormatProvider(fs).Import();
var fs = new FileStream("..\\some.pdf", FileMode.Open);
RadFixedDocument doc = new PdfFormatProvider(fs).Import();
var pageCt = 0;
var elementCt = 0;
foreach (var page in doc.Pages) {
pageCt += 1;
Console.WriteLine($"Page {pageCt}, (Has content: {page.HasContent}, {page.Content.Count})");
foreach (var contentEl in page.Content) {
elementCt += 1;
Console.WriteLine($"Element {elementCt}");
if (contentEl is TextFragment) {
string text = (contentEl as TextFragment).Text;
Console.WriteLine(text);
// if (text.Contains("{{CustomTag}}")) {
// Console.WriteLine(text);
// } else {
// Console.Write(".");
// }
}
else {
Console.WriteLine($"Content Type: {contentEl.GetType().ToString()}");
}
}
}
我已经在许多文档上对此进行了测试,但尽管它似乎选择了适当的页数,但每个页面报告的hascantent
都是false
,而Content
集合是空的
我是否认为我应该能够以这种方式逐步浏览PDF内容元素。这是一个非常奇怪的交易,但在同事的一点帮助下,我们成功地实现了这一点。事实证明,区别在于如何应用
文件流
所以不是
RadFixedDocument doc=new-pdfformprovider(fs.Import()代码>
我们曾经
RadFixedDocument doc=new pdfformprovider().Import(fs)代码>
其他一切都是一样的——它是有效的。这让我发疯。谢谢