Como faço para renderizar um documento do Word (.documento,.docx) no navegador usando JavaScript?
fiz com sucesso o código para mostrar um ficheiro PDF no navegador em vez da janela "Abrir/gravar". Agora, estou preso a tentar mostrar um documento do Word no navegador. Quero mostrar um documento do Word no Firefox, IE7+, Chrome etc.
Alguém pode ajudar? Estou sempre a obter a janela "Abrir / gravar" ao mostrar a palavra doc no navegador. Quero implementar esta funcionalidade usando JavaScript.6 answers
No entanto, se só precisar de mostrar o documento Word, mas não precisar de O editar, pode usar o Visualizador de documentos do Google através de um <iframe>
para mostrar um servidor remoto .doc
/.docx
.
<iframe src="http://docs.google.com/gview?url=http://remote.url.tld/path/to/document.doc&embedded=true"></iframe>
Solução adaptada de " Como mostrar um documento word usando fancybox ".
Exemplo:
No entanto, se preferirem ter apoio nativo, na maioria, se não todos os navegadores, recomendo que guardem o.doc
/.docx
como um arquivo PDF estes também podem ser independentemente renderizados usando PDF.js by Mozilla.
Editar:
Enorme obrigado a fatbotdesigns por postar o visualizador do Microsoft Office 365 nos comentários.
<iframe src='https://view.officeapps.live.com/op/embed.aspx?src=http://remote.url.tld/path/to/document.doc' width='1366px' height='623px' frameborder='0'>This is an embedded <a target='_blank' href='http://office.com'>Microsoft Office</a> document, powered by <a target='_blank' href='http://office.com/webapps'>Office Online</a>.</iframe>
Mais uma advertência importante para ter em mente, pois apontado por lightswitch05 , é que isto irá enviar o seu documento para um servidor de terceiros. Se isso é inaceitável, então este método de exibição não é o curso adequado de ação.
Exemplos Ao Vivo:
A minha recomendação seria usar o URL de antevisão do MS Office no Google.
https://view.officeapps.live.com/op/embed.aspx?src=http://remote.url.tld/path/to/document.doc'
Https://github.com/lalalic/docx2html - docx para html, a maioria dos elementos são suportados
Https://github.com/mwilliamson/mammoth.js - suporta títulos,listas, tabelas, notas de rodapé, imagens e caixas de texto
Https://www.npmjs.com/package/docx2html - Converte documentos HTML para o DOCX no navegador
Https://github.com/artburkart/docx2html aparentemente, funciona no navegador.
Nota: Se você está procurando a melhor maneira de converter um arquivo doc/docx no lado do cliente, então provavelmente a resposta é não faça isso. Se você realmente precisa fazer isso, então faça do lado do servidor, ou seja, com libreoffice no modo sem cabeça, apache-poi, ou qualquer outra biblioteca funciona melhor para você.
O ViewerJS é útil para ver / incorporar o formato openoffice como odt,odp, ods e também pdf.
For embed openoffice / pdf document
<iframe src = "/ViewerJS/#../demo/ohm2013.odp" width='700' height='550' allowfullscreen webkitallowfullscreen></iframe>
/ViewerJS/
is the path of ViewerJS
#../demo/ohm2013
a localização do seu ficheiro deseja incorporar
Gravar o documento (nome.docx) no word como página web de arquivo único (nome.mht) No seu uso de html
<iframe src= "name.mht" width="100%" height="800"> </iframe>
Altera as alturas e as larguras como achares melhor.
Se quisesse pré-processar os seus ficheiros DOCX, em vez de esperar até ao tempo de execução, poderia convertê-los em HTML primeiro usando uma API de conversão de ficheiros como Zamzar. Você poderia usar a API para converter programaticamente de DOCX para HMTL, salvar a saída para o seu servidor e, em seguida, servir esse HTML até seus usuários finais.
A conversão é muito fácil:
curl https://api.zamzar.com/v1/jobs \
-u API_KEY: \
-X POST \
-F "[email protected]" \
-F "target_format=html5"
Isto iria remover todas as dependências em tempo de execução dos serviços do Google & Microsoft (por exemplo, se estivessem em baixo, ou a sua taxa era limitada por eles).
Também tem o benefício que pode estender a outros tipos de Ficheiros se quiser (PPTX, XLS, DOC, etc)