我打算编写一个可以打开和显示PDF文档的应用程序,并对PDF中的矢量图形元素执行OCR。用户必须能够选择文档的区域,我需要在文档上绘制实时注释。我不需要更改或保存文档本身。
我对C#和WPF有丰富的经验;我已经在XPS / XAML文档而不是PDF上编写了类似的应用程序。但是,该应用程序仅在Windows上运行,并且必须首先将PDF文档转换为XPS。
我做了很多研究,有很多很多选择,但这些选择似乎都不是一个明显的选择。有许多库可以打开PDF或创建PDF,但大多数库似乎不允许您以允许您在屏幕上绘制/操作它们的格式访问单个矢量图形元素(类似于我可以用WPF图形做的事情)从XPS文档中提取的元素。)
我熟悉.Net和C#(包括.Net 2 GDI +图形),我非常渴望坚持我所知道的。我也使用EmguCV进行图像识别,可以用Mono或.Net编译。因此,我正在研究Silverlight(独立运行)或Mono选项,两者都应该在PC和Mac上运行。
性能(对于图形和数字运算)是一个很重要的考虑因素,尽管我对快速启动和运行感兴趣。
有没有人有打开PDF,提取矢量图形元素(可能是SVG)并在Mono应用程序中渲染它们的经验?单个元素可以渲染为位图吗?
或者,有没有人有在Silverlight中打开PDF并在运行时将它们转换为XPS或XAML的经验?我知道WPF和Silverlight图形库不是1:1,但我不确定这会如何影响XPS内容(通常由Canvas,Glyphs和StreamGeometry对象组成)。
感谢您提供任何建议,提示或链接。
答案 0 :(得分:0)
它是客户端pdf阅读库。实际上现在它只能读取文件,但您可以使用它来制作自己的“显示”功能。
答案 1 :(得分:0)
您可能想要检查PDF的内部,以便更好地理解它们实际包含的内容 - 您可能会非常惊讶!例如,文本通常可以是扫描的页面或图像,而vecotr图形不存在于整齐的小包装中。我们在http://www.jpedal.org/PDFblog处写了大量关于PDF和分析工具内容的一般性文章,这些文章并非特定于任何工具或语言。