Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
Добрый день, Господа! Позвольте задать Вам один вопрос! У г. Каратаева есть такой пример: в .csp перед <head> вставляется скрипт: <script language='Cache' method='OnPreHTTP' returntype='%Boolean' > s %response.ContentType="application/msword" s %response.Expires = 1 q 1 </script> и вся страница открывается не IE, а в Worde. Великолепно! Сформированный отчет я могу редактировать и печатать. Но я хочу проделать тоже самое с HTML-файлом, который формирую, скажем, в CfcheObjectScript и потом запускаю в IE. Для этого пишу в начале файла <header("Content-Type: application/msword");> и, естественно, ничего не получается. Будьте добры, подскажите, чего не хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 11:06 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
AlViPos , В классе csp-страницы в методе OnPreHTTP нужно добавить строчку Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 11:34 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
в том-то и дело, что в csp-страницах всё идёт, а я запускаю файл .html в IE и он csp-приложения не видит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 11:47 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
Возможно, надо вместо cache-скрипта запустить java-скрипт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 11:51 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
AlViPos , Не путайте протокол HTTP и формат файла HTML. HTTP-пакет состоит из заголовка и тела. В заголовке в частности содержится параметр Content-Type, который говорит браузеру о типе и формате данных в теле пакета, а дальше уже браузер решает, что ему делать с этими данными - открывать в своем окне, в сторонней программе, предлагать сохранить как внешний файл и т.п. В формате HTML есть тег meta, т.ч. по идее можно попробовать так: <meta http-equiv="content-type" content="application/msword; charset=windows-1251" /> Но, например, у меня HTML-файл с этим тегом просто открывается в браузере, без запуска Word-а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 12:54 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
Если вы делаете то же самое с файлом, то попробуйте сохранить его как .doc Если у вас файлы небольшие, то попробуйте мой генератор xml-word файлов: http://www.sql.ru/forum/actualthread.aspx?tid=817637 Правда там есть проблема с потреблением памяти, сильно большие файлы не получится делать. В будущем когда-нибудь буду писать генератор под офис 2007 и как-то с этим бороться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 13:40 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
Так и у меня он открывается в браузере, а не в Worde, а у Каратаева в .csp - в Worde сразу. Убираю "<script language='Cache' method='OnPreHTTP' returntype='%Boolean' > Ss %response.ContentType='application/msword' s %response.Expires = 1 q 1 </script> - и открывается в браузере. И мне так хочется - ставлю скрипт в тело HTML - выхожу в Word и редактирую что надо, уберу - и смотрю только в браузере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 14:25 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
Тогда вам нужно не напрямую обращаться к этому файлу, а к csp, которая выставит content-type, а свое содержимое возьмет из этого файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 15:59 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
А если вы его в ворде редактируете, то сохраните его с расширением .doc, он у вас и будет в ворде открываться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 16:00 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
AlViPos , Возможно, это не совсем то, что Вы хотели. Два ZEN-примера генерации файла html и открытия его в WordClass sqlru.test Extends %ZEN.Component.page { XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <button caption="test1" onclick="zenPage.SrvTest1();"/> <button caption="test2" onclick="zenPage.SrvTest2();"/> </page> } /// Пример без создания файла ClassMethod SrvTest1() [ ZenMethod ] { set clob=##class(%GlobalCharacterStream).%New() set clob.%Location="^CacheTempUser.test" do clob.Write("<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8""/></head><body><i>ТЕСТ1</i></body></html>") do clob.SaveStream() set fileName="тест1.html" do clob.SetAttribute("CharSet","UTF-8") do clob.SetAttribute("ContentType","application/msword") do clob.SetAttribute("ContentDisposition",$$$FormatText("attachment; filename=%1",$s(%request.UserAgent["MSIE":$zcvt($zcvt(fileName,"O","UTF8"),"O","URL"),1:$$$quote(fileName)))) &js<window.open(zenLink('%25CSP.StreamServer.cls?STREAMOID=#(..Encrypt(clob.%Oid()))#'),'_self');> } /// Пример с созданием файла ClassMethod SrvTest2() [ ZenMethod ] { set fileName="тест2.html" set file=##class(%FileCharacterStream).%New() set file.Filename=fileName set file.TranslateTable="UTF8" do file.Write("<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8""/></head><body><i>ТЕСТ2</i></body></html>") do file.SaveStream() do file.SetAttribute("CharSet","UTF-8") do file.SetAttribute("ContentType","application/msword") do file.SetAttribute("ContentDisposition",$$$FormatText("attachment; filename=%1",$s(%request.UserAgent["MSIE":$zcvt($zcvt(fileName,"O","UTF8"),"O","URL"),1:$$$quote(fileName)))) &js<window.open(zenLink('%25CSP.StreamServer.cls?STREAMOID=#(..Encrypt(file.%Oid()))#'),'_self');> } } Те же примеры, но на CSP<html> <head> <!-- Put your page Title here --> <title> Cache Server Page </title> </head> <body> <!-- Put your page code here --> <script language="Cache" method="SrvTest1"> new clob,fileName set clob=##class(%GlobalCharacterStream).%New() set clob.%Location="^CacheTempUser.test" do clob.Write("<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8""/></head><body><i>ТЕСТ1</i></body></html>") do clob.SaveStream() set fileName="тест1.html" do clob.SetAttribute("CharSet","UTF-8") do clob.SetAttribute("ContentType","application/msword") do clob.SetAttribute("ContentDisposition",$$$FormatText("attachment; filename=%1",$s(%request.UserAgent["MSIE":$zcvt($zcvt(fileName,"O","UTF8"),"O","URL"),1:$$$quote(fileName)))) &js<window.open('%25CSP.StreamServer.cls?STREAMOID=#(..Encrypt(clob.%Oid()))#','_self');> </script> <script language="Cache" method="SrvTest2"> new file,fileName set fileName="тест2.html" set file=##class(%FileCharacterStream).%New() set file.Filename=fileName set file.TranslateTable="UTF8" do file.Write("<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8""/></head><body><i>ТЕСТ2</i></body></html>") do file.SaveStream() do file.SetAttribute("CharSet","UTF-8") do file.SetAttribute("ContentType","application/msword") do file.SetAttribute("ContentDisposition",$$$FormatText("attachment; filename=%1",$s(%request.UserAgent["MSIE":$zcvt($zcvt(fileName,"O","UTF8"),"O","URL"),1:$$$quote(fileName)))) &js<window.open('%25CSP.StreamServer.cls?STREAMOID=#(..Encrypt(file.%Oid()))#','_self');> </script> <input type="button" value="test1" onclick="#server(..SrvTest1())#;"> <input type="button" value="test2" onclick="#server(..SrvTest2())#;"> </body> </html> PS: некоторые браузеры ориентируются на расширение файла при их открытии, поэтому вместо расширения "html" используйте, например "doc". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 17:16 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
AlViPos, авторНо я хочу проделать тоже самое с HTML-файлом, который формирую, скажем, в CfcheObjectScript и потом запускаю в IE. Для этого пишу в начале файла присваивала создаваемому файлу нужное расширение для открытия броузером--НТМ-для начальства, одновременно создавался файл для навигации по отчетам за месяц для ворда--------------------DOC-для исполнителей для екселя-------------------XLS-для исполнителей если в ворде только печать -проверяется внешний вид и уменьшается в предварительном просмотре на 1 страницу при невлезании 1-3 строк в последний лист(есть там такая удобная кнопочка) если правка серьезнее --надо сохранить как новое имя.дос, доработать и печатать пользователи справлялись с данной процедурой без лишних вопросов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2011, 08:05 |
|
||
|
Из HTML в Word
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо всем за помощь! Оказывается, столько вариантов есть, есть из чего выбирать и что комбинировать. А заодно и кое-что сам напридумал. Иду эспериментировать - люблю это дело! Ещё раз, всем огромное спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2011, 08:36 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37492392&tid=1557619]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
18ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 302ms |

| 0 / 0 |
