Renderizando um documento do Microsoft Word em uma página da Web

9

Estou criando um aplicativo da web em que uma grande parte do site exibirá documentos gerados pelo usuário. Agora, já implementei o código-fonte do LaTeX e a renderização do pdf no site, mas ainda não consigo processar arquivos do Microsoft Word (.doc e .docx) no site. Eu olhei em volta e encontrei uma pergunta semelhante ( aqui ), mas nunca foi respondida. Eu estou querendo saber se usar ou não uma solução baseada na web, como o Google Docs ou fazê-lo de forma programática no servidor com o OpenOffice, são soluções viáveis. Uma solução JavaScript pura seria ideal embora.

    
por rahulmehta95 24.08.2012 в 15:48
fonte

2 respostas

5

Com base na resposta de Vikram, você pode usar o Google Docs Viewer para renderizar os arquivos. Desta forma, deve funcionar em todos os navegadores.

Em vez de

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

use

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

Mas você tem que urlencode o URL. Por exemplo,

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

torna-se

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

Você pode acessar o link para gerar os links com facilidade.

Além disso, o código de Vikram é antigo e feio. Você deveria usar algo como:

<!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>
    
por Oriol 24.08.2012 / 16:10
fonte
0

Já experimentou algo parecido com isto?:

<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>

modifique os atributos href para o caminho no seu servidor onde você colocará esses documentos

    
por Vikram 24.08.2012 / 15:58
fonte