Преобразование документов Word в HTML
Преобразование документов Word в HTML
Всем хороши документы Word — удобны для редактирования, могут просматриваться бесплатными утилитами или сторонними пакетами (причем не только на платформе Microsoft Windows). Но иногда их все же требуется преобразовать. Например, для того чтобы опубликовать на сайте в удобном для просмотра виде.
Как это можно сделать? Рассмотрм все возможности по порядку.
1. Виртуальный принтер. По аналогии с виртуальными PDF- и XPS-принтерами существуют и HTML-принтеры. Но они, как правило, уже платные. И если говорить об их области применения, то для документов Word удобство здесь сомнительное (вам все равно нужно будет ПО для открытия документов Word, а в 9 из 10 случаях это ПО умеет выполнять и прямое сохранение в HTML; впрочем, обо всем по порядку). Если же вам понадобится преобразовывать документы других форматов, то виртуальный принтер может оказаться очень удобен.
2. Standalone-утилиты. Обычно такие утилиты преобразуют DOC-файлы в HTML, не требуя никакого дополнительного ПО. Это является их главным достоинством, но отсюда же вытекают и существенные недостатки:
● нет никакой гарантии полного и качественного распознавания формата DOC (несмотря на свою открытость, формат очень сложный и даже разработчики OpenOffice.org признаются, что не поддерживают его на 100%);
● скорее всего, для того чтобы преобразовать документ формата DOCX, вам придется его предварительно самостоятельно преобразовать в DOC (т.е. понятие standalone нивелируется).
Хотя, если утилита будет разработана такой компанией, как Microsoft, то указанных недостатков может и не быть
3. OpenOffice.org. Этот пакет существует на нескольких платформах (Windows, Linux, MacOS X), может открывать документы Microsoft Word (DOC, DOCX) и сохранять их в HTML. Причем HTML получается вполне приличным, хотя и не идеальным:
- в нем присутствует встроенная CSS, которую придется удалять для публикации на сайте, имеющем свои требования к оформлению;
- по тексту документа может встречаться не только использование стиля, но и прямое управление оформлением, например, FONT FACE=»…», и его уже точно придется «вычищать»;
- если с документами формата DOC все обстоит более-менее, то вот с RTF-документами ситуация сильно хуже; например, таблицы с объединением ячеек по вертикали (то, что в HTML указываются как ROWSPAN=N) будут «сломаны» еще на этапе открытия документа.
4. Microsoft Office Word. Понятно, что никаких сложностей с открытием и распознаванием родного формата документов не может быть в принципе. Для сохраненив HTML предоставляется сразу два варианта:
- «Веб-страница». Этот вариант предназначен для того, чтобы получить документ, чей вид будет максимально приближен к виду оригинального документа. Это, конечно, интересный подход, но результат достигается за счет большого размера HTML-файла и полного игнорирования стандартов W3C.
- «Веб страница с фильтром». Результат данного способа напоминает то, что получается при помощи OpenOffice.org:
— в документе будет встроенная CSS;
— по тексту могут встречаться не только отсылки к CSS, но и прямое управление оформлением (только уже не тег FONT, а, например, атрибут STYLE);
Кроме того, если основной язык текста был русский, но встречались слова на другом языке (например, английском), то по тексту будут конструкции вида <span lang=EN-US>. С ними, кстати, вообще получается интересная ситуация. Microsoft еще для Word 2000 предлагала утилиту фильтрации HTML. При «очистке» (с ее помощью) этих тегов SPAN из документа начинали пропадать пробелы
С учетом всех плюсов и минусов в большинстве случаев при выполнении преобразования документов Word в HTML имеет смысл остановить свой выбор на одном из «больших» офисных пакетов: Microsoft Office или OpenOffice.org.
Комментарии 3
Забыли про возможность врукопашную написать утилиту... тем более если обрабатывается документ от 2007 офиса, т.е. все прелести OpenXML, которые легко доступны из того же .NET.
2 Максим Галимов:
Да, такой нюанс есть, и надо про него помнить. Например, макросы можно просто запретить.
2 Иван Стебленко:
Такая возможность, безусловно, существует. Но сложность полного и качественного распознавания формата очень высока. Чего стоит хотя бы тот факт, что даже в Office 2007 SP2 не будет 100% поддержки стандарта ISO/IEC 29500 Office Open XML.