Что нового

Текст из буфера обмена -> HTML (внутри код + проблема)

Suppir

Продвинутый
Сообщения
967
Репутация
62
Скрипт конвертирует содержимое буфера обмена в HTML-файл.

1. Скачайте скрипт и остальные файлы http://zalil.ru/29981115
2. Запустите файл temp.rtf в word'е или openoffice, или в wordpad.
3. Скопируйте текст из файла в буфер обмена (CTRL+C). Этот текст содержит вордовские таблицы.
4. Запустите скрипт "run this script.au3"

Создастся файл temp.html в котором будет текст из буфера обмена.

При этом возникает ошибка - неправильно распознаются объединенные по горизонтали ячейки таблицы.
Кто знает, как устранить эту проблему?


Добавлено:
Сообщение автоматически объединено:

Предполагаю, что ошибка в самом dll, который отвечает за конвертирование. Если вдруг кто-то знает нормальный dll (и бесплатный), то дайте знать, пожалуйста!
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Suppir
А почему вы не хотите использовать OLE Word`а?
Сейчас Office практически у каждого установлен. :smile:
Код:
Const $wdFormatDocument =  0
Const $wdFormatFilteredHTML = 10

$oWord = ObjCreate("Word.Application.10")
$oWord.Visible = True

_OpenDoc(@ScriptDir & "\temp.rtf")
_SaveAs(@ScriptDir & "\test.html", $wdFormatFilteredHTML)
_CloseDoc()
_CloseWord()

Func _OpenDoc($s_File)
    $oWord.Documents.Open($s_File)
EndFunc

Func _SaveAs($s_File, $i_Format = $wdFormatDocument)
    $oWord.ActiveDocument.SaveAs($s_File, $i_Format)
EndFunc

Func _CloseDoc()
    $oWord.ActiveDocument.Close
EndFunc

Func _CloseWord()
    $oWord.Quit
EndFunc
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
Suppir [?]
редполагаю, что ошибка в самом dll, который отвечает за конвертирование. Если вдруг кто-то знает нормальный dll (и бесплатный), то дайте знать, пожалуйста!

В комментариях к функции есть ссылка. По ссылке есть ещё одна ссылка на SourceForge, там вроде бы лежат исходники. Может можно подправить.

Garrett [?]
Сейчас Office практически у каждого установлен.
OffTopic:
У тех кому он нужен. Мне например WordPad'а хватает за глаза. Платный Office точно не поставлю.
Но если у конечного пользователя он однозначно есть, тогда конечно проще его использовать.
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Garrett [?]
А почему вы не хотите использовать OLE Word`а?

Дело в том, что не у всех пользователей есть MS Word. У многих стоит OpenOffice.

dwerf [?]
В комментариях к функции есть ссылка. По ссылке есть ещё одна ссылка на SourceForge, там вроде бы лежат исходники. Может можно подправить.

Я нашел там другую библиотеку с таким же названием (rtf2html). Она намного лучше работает.
 
Верх