2012-08-24 6 views
9

Sto progettando un'applicazione Web in cui una grande parte del sito visualizzerà i documenti generati dall'utente. Ora, ho già implementato il codice sorgente LaTeX e il rendering PDF sul sito Web, ma non riesco ancora a visualizzare i file Microsoft Word (.doc e .docx) sul sito. Mi sono guardato intorno e ho trovato una domanda simile (here), ma non ho mai risposto. Mi chiedo se utilizzare o meno una soluzione basata sul Web come Google Docs o farlo in modo programmatico sul server con OpenOffice siano soluzioni valide. Tuttavia, una soluzione JavaScript pura sarebbe l'ideale.Rendering di un documento Microsoft Word su una pagina Web

risposta

5

in base alla risposta di Vikram, è possibile utilizzare Google Docs Viewer al fine per rendere i file. In questo modo dovrebbe funzionare su tutti i browser.

Invece di

<a href="doc1.doc" target="awindow">Doc 1</a> 

uso

<a href="http://docs.google.com/viewer?url=[URLToDoc1.doc]" target="awindow">Doc 1</a> 

Ma bisogna URLEncode l'URL. Ad esempio,

http://research.google.com/archive/bigtable-osdi06.pdf 

diventa

http%3A%2F%2Fresearch.google.com%2Farchive%2Fbigtable-osdi06.pdf 

si può andare a https://docs.google.com/viewer al fine di generare i collegamenti facilmente.

Inoltre, il codice di Vikram è vecchio e brutto. Dovresti usare qualcosa del tipo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
<title>Open Doc</title> 
<style type="text/css"> 
/*<![CDATA[*/ 
.clear{clear:both;} 
#list{float:left;margin-right:50px;} 
#wrapper{overflow:hidden;} 
#awindow{width:100%;height:440px;} 
/*]]>*/ 
</style> 
</head> 
<body> 
<ul id="list"> 
    <li><a href="http://docs.google.com/viewer?url=[URLToDoc1.doc]" target="awindow">Doc 1</a></li> 
    <li><a href="http://docs.google.com/viewer?url=[URLToDoc2.docx]" target="awindow">Doc 2</a></li> 
    <li><a href="http://docs.google.com/viewer?url=[URLToDoc3.doc]" target="awindow">Doc 3</a></li> 
</ul> 
<div id="wrapper"> 
    <iframe id="awindow" name="awindow" src="title.html"></iframe> 
</div> 
<div class="clear"></div> 
</body> 
</html> 
0

Hai provato qualcosa di simile ?: già

<html> 
<head> 
<title>Open Doc</title> 
</head> 
<body> 
<DIV align="CENTER"> 
<TABLE BORDER="1" CELLSPACING="1" CELLPADDING="1" WIDTH="100%"> 
<TR> 
<TD WIDTH="25%" ALIGN="left" VALIGN="TOP"> 
<a href="doc1.doc" target="awindow">Doc 1</A><br> 
<a href="doc2.docx" target="awindow">Doc 2</A><br> 
<a href="doc3.doc" target="awindow">Doc 3</A> 
</TD> 
<TD WIDTH="75%" ALIGN="CENTER" VALIGN="TOP"> 
<iframe name="awindow" frameborder=2 width=580 height=440 src="title.html"></iframe> 
</TD></TR></TABLE></CENTER> 
</DIV> 
</body> 
</html> 

modificare il href attributi al percorso sul server dove potrete inserire questi documenti

+0

Ma questo funziona solo su IE, vero? – Oriol