2011-04-06 108 views
13

我們希望在通過servlet的doGet方法從數據庫中檢索文檔後,在HTML頁面中顯示文檔(例如pptxxlsx,docx,pdf,html)。
任何人都可以分享一些片段如何實現這一目標?如何在HTML頁面中嵌入文檔?

+0

「秀」 怎麼樣?使用安裝在用戶系統上的瀏覽器插件? – 2011-04-06 11:45:00

+0

是的,通過瀏覽器插件 – user339108 2011-04-06 11:51:16

+1

你只需要在響應頭中返回適當的mimetype。 – symcbean 2011-04-06 11:57:29

回答

20

非HTML從圖像開內容需要使用的對象,嵌入或iframe標籤

  1. IFRAME檢索:嵌入<iframe src="somepage.pdf"></iframe>
  2. 對象/<object src="somepage.pdf"><embed src="somepage.pdf"></embed></object>

somepage.pdf可能是somepage.jsp?filename = somepage & mimetype = application/pdf

這裏有一個有趣的鏈接How to Embed Microsoft Office or PDF Documents in Web Pages

,這裏是一個stackoverflow search

+1

我需要使用子文檔中父文檔的內聯樣式元素。 Iframe不允許這樣做。這將嵌入或對象工作嗎? – user2284570 2015-08-25 23:31:03

+0

不太可能。如果跨域,它也將無法正常工作。如果沒有,那麼iframe應該工作。問一個單獨的問題 – mplungjan 2015-08-26 03:44:57

+0

相同的域。但是這個問題已經被問到了,它的答案只是提供了使用外部樣式表的響應。 – user2284570 2015-08-26 08:53:14

0

如果您正在查找的文檔的純HTML版本(快速渲染和跨瀏覽器支持),你可以通過Docspad。 Docspad有助於將所有不同流行的文檔格式嵌入到您的Web應用程序中。 http://docspad.com

+4

Docspad已死:「我們將不再支持Docspad服務2014年10月19日生效」 – 2015-05-20 21:38:07

6

Google文檔查看器可以處理這個問題。

嘗試

<html> 
    <head> 
     <style> 
      *{margin:0;padding:0} 
      html, body {height:100%;width:100%;overflow:hidden} 
     </style> 
     <meta charset="utf-8"> 
      <?php 
       $url = $_GET['url']; 
      ?> 
     <title><?php echo $url; ?></title> 
    </head> 
    <body> 
     <iframe src="http://docs.google.com/viewer?url=<?=urlencode($url)?>&embedded=true" style="position: absolute;width:100%; height: 100%;border: none;"></iframe> 
    </body> 
</html> 
+0

謝謝,這是我發現和工作的唯一方式。 – 2017-04-11 12:58:57