Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Конвертация «.doc» в «.html» на лету (Win32 only). (Ant)
Author Message
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6837
Карма: 131
   поощрить/наказать


PostPosted: Sun Sep 19, 2004 1:18 am (написано за 4 минуты 1 секунду)
   Post subject: Конвертация «.doc» в «.html» на лету (Win32 only).
Reply with quote


М

Взято из темы: О конвертации .doc в .html на "лету" (forum.dklab.ru/other/all/AboutConvertingDocInHtmlOnASummer.html).
Понятия не имею, почему Ильдар сам не запостил это в готовые решения — ИМХО, скрипт очень полезный.
Код:
Code (JavaScript): скопировать код в буфер обмена
/**
* Convert WinWord compatible files to the html pages
*
* USAGE:
*    CSCRIPT.EXE doc2html.js <source>
*    <source> - WinWord files have to been converted
*
* Note:
*    All files are saved at the same folders where from they has been opened
*
* Copyright (C) 2004, Ildar N. Shaimordanov
*/


// do not show WinWord interface, background execution
var backgroundExecute = true;

// the file has to be saved as web-page
var SAVE_AS_HTML = 8;

// the function returns the list of available WinWord files
function getWordFileList()
{
    var cmd = WScript.Arguments;
    var s = new Array();
    for (var i = 0; i < cmd.length; i++) {
        var f = cmd.Unnamed(i);
        if (fso.FileExists(f)) s[s.length] = fso.GetAbsolutePathName(f);
    }
    return s;
}

// the function returns the name of file has to being saved as web-page
function getHtmlFileName(filename)
{
    return filename.replace(/\..*?$/, ".htm");
}

var fso = new ActiveXObject("Scripting.FileSystemObject");
var fl = getWordFileList();
var word = new ActiveXObject("Word.Application");

if (!backgroundExecute) {
    word.Visible = true;
    word.Activate();
}

for (var i = 0; i < fl.length; i++) {
    word.Documents.Open(fl[i]);
    word.ActiveDocument.SaveAs(getHtmlFileName(fl[i]), SAVE_AS_HTML);
}

word.Quit();
Пример использования:
Code (Windows BAT file): скопировать код в буфер обмена
doc2html.js файл1.doc файл2.doc
Back to top
View user's profile Send private message Send e-mail
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Mon Sep 20, 2004 4:40 pm (спустя 1 день 15 часов 21 минуту; написано за 4 минуты 18 секунд)
   Post subject:
Reply with quote

Ant wrote:
Понятия не имею
лишь по той простой причине, что вопрос и обсуждение велись в той теме, и (мне так кажется) это решение на JScript, а не на JavaScript
лично я все-таки делаю различия (первое - только для Windows, второе - и для HTML)

область применения:
Windows 98/Me/2000/XP

способы применения:
1. указан в предыдущем посте
2. drag-n-drop документа(ов) с расширением .doc на файл doc2html.js
Back to top
View user's profile Send private message
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6837
Карма: 131
   поощрить/наказать


PostPosted: Mon Sep 20, 2004 4:55 pm (спустя 14 минут; написано за 1 минуту 4 секунды)
   Post subject:
Reply with quote


М

Rumata wrote:
JScript, а не на JavaScript
За неимением форума «Склад готовых решений :: JScript» будем использовать этот. (-;
Back to top
View user's profile Send private message Send e-mail
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6837
Карма: 131
   поощрить/наказать


PostPosted: Tue Jan 04, 2005 3:41 pm (спустя 3 месяца 13 дней 22 часа 46 минут)
   Post subject:
Reply with quote


М

Ветка выделена в отдельную тему «[+] Добавление тега [bat].»,
расположенную в форуме Предложения по организации форума (04 Января 2005, 15:41).
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 387
   поощрить/наказать


PostPosted: Fri May 13, 2005 2:37 pm (спустя 4 месяца 8 дней 22 часа 55 минут; написано за 54 секунды)
   Post subject:
Reply with quote

вопрос. у меня выдает такое сообщение:
Microsoft JScript runtime error: Object doesn't support this property or method

хотя на другой машине ОК.

какой должен быть Microsoft JScript и как его обновить? ie6.0 ставить?
Back to top
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Fri May 13, 2005 2:47 pm (спустя 10 минут; написано за 1 минуту 57 секунд)
   Post subject:
Reply with quote

в какой строке ошибка? какая машина? какая ОС?

запустите cscript и посмотрите версию. должна быть 5.6
МСИЕ не причем. скорее всего вам сюда msdn.microsoft.com/scripting/
Back to top
View user's profile Send private message
Guest






Карма: 387
   поощрить/наказать


PostPosted: Fri May 13, 2005 3:17 pm (спустя 29 минут; написано за 9 секунд)
   Post subject:
Reply with quote

версия csrcipt 5.1
Back to top
Guest






Карма: 387
   поощрить/наказать


PostPosted: Fri May 13, 2005 4:12 pm (спустя 55 минут; написано за 25 секунд)
   Post subject:
Reply with quote

все. поставил ie6.0, был 5.0 все заработало
Back to top
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Tue Mar 03, 2009 10:53 pm (спустя 3 года 9 месяцев 21 день 6 часов 40 минут; написано за 6 минут 53 секунды)
   Post subject:
Reply with quote

Code (any language): скопировать код в буфер обмена
DOC2HTML Converter
Copyright (C) 2004, 2009, 2010 Ildar Shaimordanov

This script allows to convert any DOC file to TXT (both DOS and Win, etc), RTF, HTML (default), MHT (Web Archive), XML, PDF or XPS.
Saving as TXT you are able to define an encoding and a line ending:

  /F:TXT:1251:CRLF

The example above means save as TXT using as an encoding Cyrillic (Windows) and end lines with CRLF.

To make an easy access from the context menu 'Send To' launch once this script with /help:sendto.

NOTES:
This script requires the "Microsoft Save as PDF or XPS Add-in for 2007 Microsoft Office programs", available at:
http://www.microsoft.com/downloads/details.aspx?familyid=4D951911-3E7E-4AE6-B059-A2E79ED87041&displaylang=en

Usage: doc2html.wsf FILENAME1 [FILENAME2...] [/F:value] [/V] [/FG]

Options:

FILENAME : The WINWORD document filename
F        : Specifies output format such as TXT, RTF, HTML (default), MHT, XML, PDF or XPS
V        : Verbosely list files processed
FG       : Specify this if you want to launch WINWORD in foreground

Example: doc2html.wsf document.doc
Хорошее обновление. Имя почти не изменилось, но функционал заметно расширился.
Может конвертировать doc-файлы, средствами самого winword, который запускается в фоновом режиме (конфигурируется).
Доступные форматы выходного файла TXT, RTF, HTML, MHT (Web Archive), PDF, XPSю Для последних двух требуется родная надстройка с сайта производителя (www.microsoft.com/downloads/details.aspx?familyid=4D951911-3E7E-4AE6-B059-A2E79ED87041&displaylang=en).

Есть возможность встроить в контекстное меню проводника.

Инструкция к применению:
1. загрузить
2. распаковать
3. положить в удобное место
4. выполнить команду
Code (Windows BAT file): скопировать код в буфер обмена
cscript doc2html.wsf /help:sendto



doc2html.zip
 Description:

Download
 Filename:  doc2html.zip
 Filesize:  7.45 KB
 Downloaded:  584 Time(s)



Last edited by Rumata on Thu Jun 24, 2010 4:39 pm; edited 1 time in total
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Thu Jun 24, 2010 4:37 pm (спустя 1 год 3 месяца 20 дней 17 часов 44 минуты; написано за 15 минут 57 секунд)
   Post subject:
Reply with quote

Недавно меня спросили
Quote:
Каким образом можно установить кодировку для выходного файла в формате TXT? Например msoEncodingOEMCyrillic?
Я не стал разбираться в сакральном значении магического залинания программистов из Редмонда. Но запрос меня заинтересовал и я выполнил задачу. Несколько лишних строк улучшили работу скрипта. Найти архив со скриптом можно в моем предыдущем сообщении.

Дополнения:
1. Можно сохранить сразу в кодировке DOS
Code (any language): скопировать код в буфер обмена
cscript doc2html.wsf /f:dos document.doc
2. В формате TXT можно уточнить кодировку сохраняемого файла и переводы строк
Code (any language): скопировать код в буфер обмена
/F:TXT:encoding:lineEnding
encoding - кодировка сохраняемого файла (число)
lineEnding - перевод строки (CRLF - по умолчанию, CR, LF, LFCR)
Все параметры опциональны и можно опустить, но сохранив при этом разделители-двоеточия. Например (текст, кодировка по умолчанию, переводы строк - LF)
Code (any language): скопировать код в буфер обмена
/F:TXT::LF
3. Кодировка указывается в числовом формате. Соответственно надо знать числовые значения. Для России и Украины следующие (кириллица):
Code (any language): скопировать код в буфер обмена
866   - DOS
28595 - ISO
20866 - KOI8-R
21866 - KOI8-U
10007 - Mac
1251  - Win
Примеры:
1. Сохранить в формате TXT (кодировка, установленная в системе по умолчанию, переводы строк - CRLF)
Code (any language): скопировать код в буфер обмена
cscript doc2html.wsf /f:txt document.doc
2. Тоже, но в кодировке KOI8-R
Code (any language): скопировать код в буфер обмена
cscript doc2html.wsf /f:txt:20886 document.doc
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Sun Nov 18, 2012 9:25 pm (спустя 2 года 4 месяца 24 дня 4 часа 47 минут; написано за 9 минут 13 секунд)
   Post subject:
Reply with quote

Если вдруг кто-то нуждается в подобном, а существующие аналоги не удовлетворяют. Конвертер различных форматов в другие с помощью установленного в системе WinWord. Поддерживает формат FB2 (FictionBook), популярный в России и СНГ формат электронных читалок.

Как использовать
-- скачать архив со страницы code.google.com/p/jsxt/downloads/list
-- распаковать содержимое архива в удобное для вас место на компьютере

Требования
WinWord (обязательно)
необязательно, Microsoft Save as PDF or XPS (www.microsoft.com/en-us/download/details.aspx?id=7)
необязательно, doc2fb.xsl - только для преобразований в формат FictionBook (wml2fb.xsl, оригинал (home.arcor.de/fb.tools))

Поддерживаемые форматы
на чтение
Code (any language): скопировать код в буфер обмена
doc, docx, rtf, html, xml (WordML), mht, txt
на запись
Code (any language): скопировать код в буфер обмена
Аргументы командной строки (все необязательные)
Code (any language): скопировать код в буфер обмена
/F:format
    Формат файла на выходе TXT, RTF, HTML (устанавливается по умолчанию), MHT, XML.
    PDF и XPS будут доступны если установлено расширение Microsoft Save as PDF or XPS.
    FB2 определено для преобразования в формат FictionBook.

/E:encoding
    Числовое значение кодировки используемое при сохранении в текстовый формат.
    Для кириллических кодировок, используемых в России и Украине используются следующие значения:
    866   - DOS
    28595 - ISO
    20866 - KOI8-R
    21866 - KOI8-U
    10007 - Mac
    1251  - Win

/L:lineending
    Опция определяет как кодировать концы строк. Доступны следующие значения:
    CRLF (значение по умолчанию), CR, LF, LFCR.

/XSL:filename
    Имя файла для XSL преобразований для трансформации в формат FictionBook.

/V
    Включить вывод подробного отчета.

/FG
    Запустить WINWORD на переднем плане.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML