Как я могу отобразить документ Word (.доктор.,docx) в браузере с помощью JavaScript?
Я успешно сделал код для отображения PDF-файла в браузере вместо диалогового окна" открыть/сохранить". Теперь я застрял, пытаясь отобразить документ Word в браузере. Я хочу отобразить документ Word в Firefox, IE7+, Chrome и т. д.
может ли кто-нибудь помочь? Я всегда получаю диалоговое окно "открыть/сохранить" при отображении слова doc в браузере. Я хочу реализовать эту функциональность с помощью JavaScript.
6 ответов:
в настоящее время ни один браузер не имеет кода, необходимого для рендеринга документов Word, и, насколько мне известно, нет клиентских библиотек, которые в настоящее время существуют для их рендеринга.
однако, если вам нужно только отобразить документ Word, но не нужно его редактировать, вы можете использовать средство просмотра документов Google через
<iframe>для отображения удаленно.doc/.docx.<iframe src="http://docs.google.com/gview?url=http://remote.url.tld/path/to/document.doc&embedded=true"></iframe>решение адаптировано из "как отобразить документ word с помощью fancybox".
пример:
однако, если вы предпочитаете иметь собственную поддержку, в большинстве, если не во всех браузерах, я бы рекомендовал сохранить
.doc/.docxв виде PDF-файла они также могут быть независимо визуализированы с помощью PDF.js от Mozilla.Edit:
огромное спасибо fatbotdesigns для размещения средства просмотра Microsoft Office 365 в комментарии.
<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>еще одно важное предостережение, чтобы иметь в виду, как указано lightswitch05, это будет загружать ваш документ на сторонний сервер. Если это неприемлемо, то этот метод отображения не является правильным курсом действий.
Живые Примеры:
ответы Брэндона и fatbotdesigns оба правильны, но реализовав предварительный просмотр документов Google, мы нашли несколько .файлы docx, которые не могут быть обработаны Google. Переключился на MS Office онлайн превью и работает любит Шарм.
моя рекомендация состояла бы в том, чтобы использовать URL-адрес предварительного просмотра MS Office над Google.
https://view.officeapps.live.com/op/embed.aspx?src=http://remote.url.tld/path/to/document.doc'
там, кажется, какого-нибудь JS-библиотеки, которые могут обрабатывать .docx (нет .doc) для преобразования html на стороне клиента (в определенном порядке):
https://github.com/lalalic/docx2html - docx в html, большинство элементов поддерживаются
https://github.com/mwilliamson/mammoth.js - поддерживает заголовки, списки, таблицы, сноски, сноски, изображения и текст коробки
https://www.npmjs.com/package/docx2html - преобразует HTML документы в DOCX в браузере
https://github.com/artburkart/docx2html - видимо, работает в браузере
Примечание: Если вы ищете лучший способ конвертировать файл doc / docx на стороне клиента, то, вероятно, ответ не надо. Если вам действительно нужно это сделать, то сделайте это на стороне сервера, т. е. с libreoffice в безголовом режиме, apache-poi или любая другая библиотека работает лучше всего для вас.
ViewerJS полезно просматривать / вставлять формат openoffice, такой как odt,odp,ods, а также pdf.
для встраивания openoffice / pdf документа
<iframe src = "/ViewerJS/#../demo/ohm2013.odp" width='700' height='550' allowfullscreen webkitallowfullscreen></iframe>
/ViewerJS/это путь ViewerJS
#../demo/ohm2013это путь к файлу, который вы хотите вставить
Кажется, у меня есть идея. Это тоже делает мой орех, и у меня все еще возникают проблемы с его отображением в Chrome.
сохранить документ(наименование.docx) в word как веб-страница одного файла (имя.МХТ) В вашем html используйте
<iframe src= "name.mht" width="100%" height="800"> </iframe>изменить высоту и ширину, как вы считаете нужным.
Если вы хотите предварительно обработать свои файлы DOCX, а не ждать, пока runtime вы можете конвертировать их в HTML сначала с помощью API преобразования файлов, таких как Zamzar. Вы можете использовать API для программного преобразования из DOCX в HMTL, сохранить вывод на свой сервер, а затем обслуживать этот HTML до ваших конечных пользователей.
преобразование довольно легко:
curl https://api.zamzar.com/v1/jobs \ -u API_KEY: \ -X POST \ -F "[email protected]" \ -F "target_format=html5"Это позволит удалить любые зависимости времени выполнения от служб Google и Microsoft (например если они были, или вы были ограничены их).
Он также имеет преимущество, которое вы могли бы расширить до иные типы файлов Если вы хотели (PPTX, XLS, DOC и т.д.)
Comments