He realizado correctamente el código para mostrar un archivo PDF en el navegador en lugar del cuadro de diálogo "Abrir / Guardar". Ahora, estoy atascado tratando de mostrar un documento de Word en el navegador. Quiero mostrar un documento de Word en Firefox, IE7 +, Chrome, etc.
¿Alguien puede ayudar? Siempre aparece el cuadro de diálogo "Abrir / Guardar" al mostrar el documento de Word en el navegador. Quiero implementar esta funcionalidad usando JavaScript.
javascript
browser
ms-word
Pankaj
fuente
fuente
Respuestas:
Actualmente, ningún navegador tiene el código necesario para representar documentos de Word y, que yo sepa, tampoco existen bibliotecas del lado del cliente para representarlos.
Sin embargo, si solo necesita mostrar el documento de Word, pero no necesita editarlo, puede usar el visor de documentos de Google a través de un
<iframe>
para mostrar un.doc
/ alojado de forma remota.docx
.Solución adaptada de " Cómo mostrar un documento de Word usando fancybox ".
Ejemplo:
JSFiddle
Sin embargo, si prefiere tener soporte nativo, en la mayoría de los navegadores, si no en todos, le recomiendo volver a guardar el
.doc
/.docx
como un archivo PDF. Esos también pueden ser renderizados independientemente usando PDF.js por Mozilla.Editar:
Muchas gracias a fatbotdesigns por publicar el visor de Microsoft Office 365 en los comentarios.
Una advertencia más importante a tener en cuenta, como señala lightswitch05 , es que esto cargará su documento a un servidor de terceros. Si esto es inaceptable, entonces este método de visualización no es el curso de acción adecuado.
Ejemplos en vivo:
Google Docs Viewer
Visor de Microsoft Office
fuente
url
parámetro a la URL completa del archivo .doc, alojado en su servidor o en cualquier lugar al que se pueda vincular directamente. Google Docs maneja la conversión a un formato que pueda ser manejado por el navegador sobre la marcha, y no requiere que se cargue o almacene en Google Docs, sino que realiza una solicitud del lado del servidor para tomar el archivo.localhost
. Necesita una URL de acceso público. Podría usar un servicio de reenvío básico como Finch .Las respuestas de Brandon y fatbotdesigns son correctas, pero al implementar la vista previa de Google Docs, encontramos múltiples archivos .docx que Google no podía manejar. Cambió a la vista previa de MS Office Online y funciona como un encanto.
Mi recomendación sería utilizar la URL de vista previa de MS Office sobre la de Google.
fuente
Parece que hay algunas bibliotecas js que pueden manejar .docx (no .doc) a la conversión html del lado del cliente (sin ningún orden en particular):
https://github.com/lalalic/docx2html - docx a html, la mayoría de los elementos son compatibles
https://github.com/mwilliamson/mammoth.js : admite encabezados, listas, tablas, notas finales, notas al pie, imágenes y cuadros de texto
https://www.npmjs.com/package/docx2html - Convierte documentos DOCX a HTML en el navegador o nodejs
https://github.com/artburkart/docx2html - aparentemente, funciona en el navegador
Nota: Si está buscando la mejor manera de convertir un archivo doc / docx en el lado del cliente, entonces probablemente la respuesta sea no hacerlo . Si realmente necesita hacerlo, hágalo del lado del servidor, es decir, con libreoffice en modo sin cabeza , apache-poi (java) , pandoc o cualquier otra biblioteca que funcione mejor para usted.
fuente
Creo que tengo una idea. Esto también me ha vuelto loco y todavía tengo problemas para que se muestre en Chrome.
Guarde el documento (nombre.docx) en Word como página web de un solo archivo (nombre.mht) En su uso de HTML
Modifique las alturas y anchos como mejor le parezca.
fuente
ViewerJS es útil para ver / incrustar formatos de oficina abierta como odt, odp, ods y también pdf.
Para incrustar documento openoffice / pdf
/ViewerJS/
es el camino de ViewerJS#../demo/ohm2013
es la ruta de su archivo que desea insertarfuente
Native Documents (en el que tengo interés) crea un visor (y editor) específicamente para documentos de Word (tanto en formato binario heredado .doc como en formato moderno docx). Lo hace sin pérdida de conversión a HTML. Aquí se explica cómo comenzar https://github.com/NativeDocuments/nd-WordFileEditor/blob/master/README.md
fuente
Si desea preprocesar sus archivos DOCX, en lugar de esperar hasta el tiempo de ejecución, primero puede convertirlos a HTML utilizando una API de conversión de archivos como Zamzar . Puede usar la API para convertir programáticamente de DOCX a HMTL, guardar la salida en su servidor y luego entregar ese HTML a sus usuarios finales.
La conversión es bastante fácil:
Esto eliminaría las dependencias de tiempo de ejecución de los servicios de Google y Microsoft (por ejemplo, si estuvieran inactivos o si tuvieran una tarifa limitada).
También tiene el beneficio que podría extender a otros tipos de archivos si lo desea (PPTX, XLS, DOC, etc.)
fuente