我需要在 WPF 控件中显示 PDF 预览,以编程方式搜索其中的文本,突出显示找到的文本并能够复制文本。听起来很简单,但我已经在不同的方法中苦苦挣扎了一个星期了。
这是我考虑过的:
他们中的大多数只是将 PDF 渲染为图像或成本太高。版税或订阅费不是一个选择。 我发现唯一合适的控件是: http://www.syncfusion.com/products/wpf/pdf-viewer 我什至能够通过反射黑客以编程方式进行搜索,但它使文本过于模糊(Syncfusion 承诺很快修复此问题),并且在滚动期间加载页面有明显的滞后。
我无法使其在 Windows 10 64 位上的最新 Adobe Reader 上运行。但无论如何我都没有看到搜索方法,所以我放弃了这个。另外,它似乎不是免费用于商业用途: AcroPDFlib、AxAcroPDFLib商业用途
它可以工作,甚至允许搜索,但它只能搜索单个单词,这使得该搜索毫无用处。如果我搜索“big apple”,它会突出显示所有 big 和 apple,并且还会打开覆盖该文档的此搜索面板。
我尝试过使用这个库 http://inputsimulator.codeplex.com/ 但浏览器控件中的 PDF 似乎忽略了那里的击键,或者可能是我做错了什么。仍在考虑这个选项。
WPF 中基于 IE7 的控件不支持该功能,因此我需要另一个浏览器控件。而且看来我还需要启动nodejs才能使其工作。这项任务的开销似乎太大了。并且还不清楚 PDF.js 是否支持短语搜索。 但我仍然没有放弃这个选择。有谁能够让它在 WPF 中工作吗?
有什么建议吗?
看看这个项目:
https://sourceforge.net/projects/laila-pdf/
它包括一个增强的 WPF PDF 查看器,具有平滑滚动、缩放、搜索功能、文本选择和复制以及基本 PDF 表单支持。它还包括一个 PDF 打印机对象。
它是免费且开源的,基于 Chrome Pdfium 库。