2013-04-15 66 views
5

我花了整個下午尋找一個回答我的問題,並沒有發現:(AcroPDFLib從流中WindowsForms C#.NET打開PDF文件

我正在做一個Windows窗體應用程序和它的一個功能是顯示存儲在數據庫中的文件 這些文件在上傳時可以標記爲「只讀」,這意味着它們不能被下載 在這一點上,我正在努力處理PDF文件。 AcroPDFLib和我找不到從存儲在數據庫中的字節數組中顯示文件的方法。

所以,我的問題是,有沒有辦法從流中打開PDF文件? 即使它是一個插件,是什麼插件,我在哪裏可以找到它?

使用網絡瀏覽器對象,我不認爲它會工作,因爲我將不得不創建一些服務器端發送到響應輸出流。 並創建一個臨時文件夾中的文件......好吧,在這種情況下我也可以讓文件下載:d

感謝您的幫助

+0

您已將PDF文件存儲爲字節右側...? – Pandian

+0

是的。並且在數據庫中是Varbinary。 –

+0

我最近在我們的WinForms應用程序中遇到了同樣的問題。我找不到使用AcroPDFLib解決首先寫入磁盤問題的方法,然後使用WebBrowser控件顯示文件或僅執行一個'Process.Start'。我最終只是寫磁盤,但後來我並不擔心有人保存文件... –

回答

4

爲了做到你想要什麼,你需要打開從內存流文件,但是從Interapplication Communication API reference from Adobe我們得到的只有一個打開(...)方法:

語法:
VARIANT_BOOL公開賽(BSTR szFullPath,BSTR szTempTitle);

參數:

szFullPath
要打開的文件的完整路徑。

szTempTitle
打開文件爲 的窗口的可選標題。如果szTempTitle是NULL或空字符串,它將被忽略。 否則,szTempTitle被用作窗口標題。

所以我猜你正在嘗試做不能與Adobe的庫來完成。

+0

感謝您的回覆。這就是我害怕... –

+0

+1挖掘API和幾乎回答它是可能的問題:) –