Вставка рисунка в DOC без использования COM
От: fast_tony  
Дата: 06.03.13 13:38
Оценка:
Всем привет.

Собственно, задача отлично описывается названием темы. Необходимо вставить рисунок в DOC-файл на бинарном уровне. При этом куда вставить -- неважно, допустим, в конец.

Открытая спецификация DOC есть на офсайте -- это плюс. Более того, есть даже описание того, как найти картинку: http://msdn.microsoft.com/en-us/libr...InlinePictures. А вот на тему того как вставить картинку я ничего не нашел. Хотелось бы для начала осознать общий алгоритм действий. Понятно, что нужно разобрать поток 0Table(1Table), найти piece table, по нему найти в потоке WordDocument конец, и вставить туда символ 0x0001 (который, как я понимаю, обозначает inline-картинку). Дальше уже не так понятно. Каким образом теперь зарегистрировать эту картинку? Информация о картинках находится в OfficeArtContent, который находится в 0Table(1Table). Соответственно, нужно будет добавлять информацию туда (сил разобрать всю структуру данных OfficeArtContent у меня пока не хватило, но я на пути к успеху!). Кроме того, в FIB хранятся свойства картинок => и туда тоже нужно будет что-то добавлять. В каждом из шагов я не уверен (разве что кроме процедуры добавления символа), и каждый из шагов до конца мне не понятен. И самое главное -- что делать со смещениями? Изменятся ли они от таких манипуляций?

Буду крайне рад любой помощи по этой теме, так как вопросов очень много!
Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.