2010-10-23 43 views
2

我打算編寫一個應用程序,可以打開並顯示PDF文檔,並在PDF中的向量圖形元素上執行OCR。用戶必須能夠選擇文檔的區域,並且需要在文檔上繪製實時註釋。我不需要更改或保存文檔本身。我有很多C#和WPF的經驗;我已經寫了一個類似的應用程序,它已經在XPS/XAML文檔而不是PDF上進行了上述操作。但是,該應用只能在Windows上運行,並且PDF文檔必須先轉換爲XPS。爲PDF渲染和分析應用選擇跨平臺庫(最好使用C#)

我已經做了相當多的研究,並且有許多可用的選項,其中沒有一個看起來是明顯的選擇。有很多庫可以打開PDF或創建PDF,但大多數似乎不允許您以某種格式訪問各個矢量圖形元素,讓您在屏幕上繪製/操作它們(類似於我可以使用WPF圖形從XPS文件中提取元素)。我很熟悉.Net和C#(包括.Net 2 GDI +圖形),我非常熱衷於堅持我所知道的。我也使用EmguCV進行圖像識別,可以用Mono或.Net編譯。因此,我正在研究Silverlight(獨立運行)或Mono選項,它們都應該在PC和Mac上運行。

性能(用於圖形和數字處理)是一個強有力的考慮因素,儘管我對將它快速啓動並運行感興趣。

有沒有人有任何打開PDF文件,提取矢量圖形元素(也許作爲SVG)和呈現他們在單聲道應用程序的經驗?個別元素可以呈現爲位圖嗎?

另外,有沒有人有在Silverlight中打開PDF並在運行時將它們轉換爲XPS或XAML的經驗?我知道WPF和Silverlight圖形庫不是1:1,但我不確定這是如何影響XPS內容的(通常由Canvas,Glyph和StreamGeometry對象組成)。

感謝您的任何建議,提示或鏈接,你必須分享。

回答

0

看看這個 http://silverpdf.codeplex.com/

它的客戶端PDF閱讀庫。實際上現在它只能讀取文件,但是您可以使用它來創建自己的「顯示」功能。

+0

感謝您的回答。我看了一個PDFSharp(silverpdf基於的),但它無法呈現PDF。由於圖形提取和渲染主要是我以後我不認爲這個庫是我的。 Silverpdf顯然也是基於iText的,但是我看不到任何證據表明它能夠滿足我的需求(如果你需要適當的doco,你必須購買他們的書)。 – AndrewS 2010-10-24 03:03:06

0

您可能需要檢查PDF內部的內容,以便了解它們實際上包含的內容更好 - 您可能會感到非常驚訝!例如,文本通常可以被掃描頁面或圖像,並且vecotr圖形不會像整潔的小包一樣存在。我們在http://www.jpedal.org/PDFblog上撰寫了關於PDF內容和分析工具內容的一般性文章,這些文章並非特定於任何工具或語言。

+0

感謝您的鏈接。我會做一些閱讀,並讓你知道我是如何去的。 – AndrewS 2010-10-25 01:52:43

+0

輸入提交內容而不是新的內容。在處理從PDF中「打印」的XPS文檔時,我處理了許多異常,我的直覺是PDF會變得更糟(或者至少是糟糕的)。我將忽略只是掃描的嵌入式圖像或PDF。 – AndrewS 2010-10-25 01:59:01