2009-08-15 4 views
3

Мне нужен автоматический процесс создания файлов docx из источника xhtml. Файлы xhtml содержат изображения (<img> элементов), атрибуты «src» указывают на внешнюю ссылку. Но файлы docx должны быть доступны для чтения без сетевого подключения, поэтому мне нужно найти способ встраивания изображений непосредственно в пакет docx (а именно в папку/media).Добавление изображений в файл openxml, созданный с помощью altchunk

До сих пор я использовал метод altChunk (как описано Eric White) для создания файла .docx. Я надеялся использовать OpenXML SDK для вставки частей изображения в пакет. Но для этого мне нужно вставить абзацы (<p> узлов) в документ. К сожалению, часть документа содержит только ссылку на altChunk (хранится отдельно в пакете docx). Конечно, после открытия, редактирования и сохранения docx часть altChunk будет удалена, и содержимое будет правильно вложено в document.xml. Но я не знаю, как это сделать программно, так что это не помогает.

Других варианты Я рассмотрел:

  1. Разбиение на сегменты XHTML, разделенный между каждым изображением, а затем добавляя каждый altChunk по одному за раз, с соответствующей ссылкой изображения между каждым из них. (Нужна, но кажется возможной)
  2. Вставка изображений в папку мультимедиа, а затем найти способ встраивания WordProcessingML непосредственно в xhtml, чтобы <img> ссылался на файл упакованного изображения. (Сомнительно в лучшем случае) Может ли кто-нибудь подумать о лучшем подходе?

ответ

0

Ну, я решил решить свою проблему: я решил преобразовать документ в mHtml (который может содержать изображения, встроенные непосредственно в файл), а затем использовать altchunk для создания окончательного файла docx. Тем не менее, я все еще хотел сделать некоторую пост-обработку в файле (чтобы вставить концевые сноски в документ Word), но, как упоминалось выше, это невозможно до после altchunk был преобразован в docx, что невозможно сделать программным путем ,

Так что мне стало ясно, что я могу обойти путь альтчерков вообще и просто использовать mHtml как «шлюз» от xHtml до docx. Я просто преобразовал xHtml в mHtml, в комплекте со встроенными изображениями и endnotes, а затем переименовал файл с расширением .doc. Полученный документ может быть открыт непосредственно Word (и будет более корректно преобразован при последующем сохранении). Пока это отлично работает (хотя и с некоторыми ошибками в версии Word для Mac, а также Word2003).

+0

Я не был знаком с MHTML (MIME HTML), поэтому я сделал поиск в Google, который привел меня на страницу Википедии: http://en.wikipedia.org/wiki/MHTML –

+0

Я хотел спросить в мой последний комментарий, как вы преобразовали документ в mHTML. Вы сделали это программно или с помощью приложения, такого как Word? Я хочу сделать то же общее преобразование программным путем. –

+0

Как вы преобразовали xhtml в mhtml? У меня такая же проблема... – Aries51

 Смежные вопросы

  • Нет связанных вопросов^_^