2011-02-22 64 views
4

我正在尋找一種免費的方式或.Net組件來在瀏覽器中顯示PDF文件,並允許打印文件。什麼方法/組件/庫可以做到這一點,以及您對這個問題有什麼指導意見。如何以asp.net網頁形式顯示pdf文件

+1

很寬泛的問題,你不覺得嗎? – Oded 2011-02-22 21:02:06

+0

PDF實際上是使用瀏覽器插件在瀏覽器中加載的。你是否在尋找一種解析服務器端PDF並在IFrame內部加載內容的控件? – abhishek 2011-02-22 21:03:09

+2

可以查看使用Google文檔。將PDF傳遞給Google,並將其轉換爲PDF-> HTML,儘管這是最好的。 PDF存在可移植性,我不明白爲什麼你的客戶不會支持其中一種最通用的文檔格式。 – 2011-02-22 21:04:20

回答

1

如果您不希望顯示在客戶端上的PDF,你有一些選項...基本上,大部分的選項歸檔圍繞轉換到別的用戶可以使用:

  • HTML
  • RTF(大多數人可以查看/打印客戶端軟件)
  • 你總是可以使用軟件將其轉換成一組圖片,但是這是非常處理器密集型的,需要用戶invidually打印這些出。
  • 轉換爲xps,但這需要將xps安裝在客戶機上。

那麼,爲什麼你不能依靠PDF查看器?

+0

它不是我不能依賴PDF閱讀器,它比我想讓PDF在可以看到其他內容的網絡表單中可見。 – MAW74656 2011-02-22 21:37:42

+0

iframe是否足夠? – RQDQ 2011-02-22 21:51:52

+0

可能,我可以更改哪個pdf文件很容易從代碼中加載嗎?你知道有關如何這樣做的好教程嗎? – MAW74656 2011-02-22 22:10:02

0

即使轉換PDFHTMLIMAGE你不會得到相同的質量或某事接近原始文檔。這不僅僅是一堆文字和圖像,還有PDF

如果您的客戶不能支持大多數着名的文檔格式(可移植文檔格式 - > pdf),那麼您需要再次考慮設計。

1

您可以使用基於Microsoft Silverlight框架的this project

在mentionned項目有ARTE兩種情況:

  1. 混合視覺 - 在

    • 用來輸出PDF創建定位DIV
    • 創建IFRAME和位置/大小是
    • 調用mqzJsCalls。moveHTMLZone(X,Y,W,H)從所述的Silverlight用戶控制
    • 負載PDF到IFRAME
  2. (從/到PDF輸入/輸出)Silverlight和PDF之間的數據交換

    • 從託管代碼設置消息處理程序和hostContainer
    • 揭露編寫腳本的對象
    • PDF通知它已經準備好
    • 何主機牛逼將數據發送到PDF
    • 主機通知它需要用戶數據
    • PDF的用戶數據發送給主機

我沒有親自測試過這個特殊的項目,但我發現這個網站不錯的PDF並可靠的.NET解決方案。