Я использую OpenTBS, чтобы загрузить шаблон слова и заполнить все необходимые поля имеющейся у меня информацией.
Проблема в том, что у меня есть некоторые связанные документы (другие слова, отличные, pdfs) для экспортированного слова, которые я должен вставить как объекты в определенной области.
Мне удалось вставить изображения с помощью MergeBlock и всех других необходимых мне элементов.
Мне нужно, чтобы загруженные файлы были вставлены в экспортируемое слово как объект (не ссылка), просто чтобы щелкнуть значок и открыть соответствующий документ. Я не могу найти решение, как это сделать, и я не знаю, как это сделать.
Кто-нибудь делал это? Есть ли решение для моей проблемы? (это не обязательно должно быть решение OpenTBS)
Документ DOCX сохраняет вставленные файлы в двоичный субфайл в архиве DOCX (DOCX — это zip-архивы со специальными субфайлами). Двоичный подфайл называется как word/embeddings/oleObject1.bin
и сделан с двоичным заголовком, сопровождаемым двоичным содержанием вставленного файла.
Такой двоичный подфайл связан с частью тела DOCX с элементом XML <o:OLEObject>
используя атрибут «ri: id» и вложенный файл с именем word/_rels/document.xml.rel
,
Из-за двоичного заголовка двоичного подфайла нелегко изменить двоичное содержимое существующего вставленного файла. Это не легко и создать новый вставленный файл.
OpenTBS не дает специальной помощи для этой проблемы. Поскольку вы знаете, как управлять двоичным заголовком, вы можете использовать функции OpenTBS для изменения содержимого любого вложенного файла, поэтому вы можете редактировать существующий вставленный файл.
Других решений пока нет …