Как я могу отобразить документ Word (.доктор.,docx) в браузере с помощью JavaScript?



Я успешно сделал код для отображения PDF-файла в браузере вместо диалогового окна" открыть/сохранить". Теперь я застрял, пытаясь отобразить документ Word в браузере. Я хочу отобразить документ Word в Firefox, IE7+, Chrome и т. д.



может ли кто-нибудь помочь? Я всегда получаю диалоговое окно "открыть/сохранить" при отображении слова doc в браузере. Я хочу реализовать эту функциональность с помощью JavaScript.

1557   6  

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

пример:

JSFiddle

однако, если вы предпочитаете иметь собственную поддержку, в большинстве, если не во всех браузерах, я бы рекомендовал сохранить .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, это будет загружать ваш документ на сторонний сервер. Если это неприемлемо, то этот метод отображения не является правильным курсом действий.

Живые Примеры:

Google Docs Viewer

Microsoft Office Viewer

ответы Брэндона и 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 на стороне клиента (в определенном порядке):

Примечание: Если вы ищете лучший способ конвертировать файл 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

    Ничего не найдено.