2015-04-23 49 views
1

我想用C#.NET顯示在WinForms的PDF文件

顯示在WinForm的PDF文件我已經包含了iTextSharp的圖書館,併成功打開PDF文件,但是我得到一個byte[]回從iTextView

PdfReader reader = new PdfReader(GetURI("test.pdf")); 
reader.getPageN(1); //returns byte array 

我在這個庫上找不到太多的文檔,我想知道如何在實際的表單上獲得PDF,無論是在圖片框還是在web視圖中。如何顯示PDF頁面?

編輯:

我不想在第三方閱讀器來打開它

我不想

我希望把重點放在與iTextSharp的或解決方案上的Adobe Reader的依賴性類似的,因爲我需要保護PDF,加密它,並最終改變它。

+0

iTextSharp庫僅用於解析和創建PDF;它沒有任何用於呈現/顯示文檔的功能。 –

+0

嘆了口氣,這個網站在幾年前曾經很有用。無論如何,我會打這個論壇。 – FaddishWorm

回答

3

iTextSharp的允許你創建和操縱的PDF文件,但不提供像布拉德利·史密斯任何渲染選項上面

評論我很久以前沒有類似的東西說什麼我結束了正在使用Ghostscript從我的pdf和displa生成一個tiff圖像那就代替。很明顯,只是顯示圖像,所以如果你需要編輯pdf,這不適合你。

Ghostscript的是命令行唯一的,所以我認爲你必須運行它是這樣的:關於使用任何廠商的觀衆控制

 Process.Start(@"c:\gs\gs.exe", 
      String.Format("-o {0} -sDEVICE=tiffg4 -dFirstPage={1} -dLastPage={2} {3}", "tiffPages.tif", fromPage, toPage, "inputfile.pdf")); 
+1

和Ghostscript .NET包裝可以在這裏找到:https://github.com/jhabjan/Ghostscript.NET – HABJAN

+0

謝謝,我結束了分裂將PDF編成一系列圖像並使用圖片框 – FaddishWorm

2

您可以在WebBrowser控件中輕鬆顯示PDF。添加一個webBrowser控件到你的Winform。將以下方法添加到您的表單。

private void RenderPdf(string filePath) 
{ 
    if (!string.IsNullOrWhiteSpace(filePath)) 
    { 
     webBrowser1.Navigate(@filePath); 
    } 
} 

調用此方法通過將PDF文件路徑,

RenderPdf(@"PDF path"); 
+0

不會,這會提示瀏覽器下載PDF或在某些第三方軟件中打開它,我不想這樣,我需要它的形式。 – FaddishWorm

+0

看一看:http://stackoverflow.com/q/4504442/952310 –

1

這個問題的this

我找到了答案副本:

我認爲最簡單的方法是使用Adobe PDF閱讀器COM Component 右鍵點擊你的工具箱&選擇「選擇項目」的形式&上選擇「COM 組件」選項卡中選擇「的Adobe PDF閱讀器」 然後單擊確定將&下降 控制修改「源」屬性到PDF文件 你想讀我希望這有助於

+0

爲什麼要投這個? – Thealon

+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 – karlingen

+0

@karlingen在編輯之前,他確實回答了他的問題。 – Thealon

0

如果商業圖書館是一個選項,請嘗試Amyuni PDF Creator .Net。您將能夠在表單中顯示您的PDF文檔,修改文檔或對其進行加密。您將不需要依賴任何其他程序來安裝,或任何外部進程。

正如其他答案和評論所述,iText不是用來顯示PDF文檔的。

聲明:我爲Amyuni Technologies工作。