Моя текущая цель немного сложна, но я постараюсь объяснить ее как можно лучше. У нас есть часть программного обеспечения, которое в течение нескольких месяцев генерирует XML-журналы для всех видов использования. Кто-то еще проанализировал эти данные, которые они сочли необходимыми для документации, и поместил все это в читаемый формат HTML.Изменить Docx со ссылками с помощью XML
Моя задача - найти способ связывания прочитанных HTML-файлов, которые они сгенерировали, с уже существующим документом Word (.docx). Я в настоящее время есть сценарий NAnt, который читает через каталог, содержащий журналы и создает документ XML с форматом:
<root>
<HTML address=...>
<ProductName name=...>
<FunctionName name=...>
</FunctionName>
</ProductName>
</HTML>
</root>
Слово документ сам по себе содержит таблицы, которые держат названия функций. Эти таблицы находятся под заголовками, которые содержат название продукта. Мне нужно привязать ссылку к адресу, связанному с функцией вокруг имени функции внутри таблицы, чтобы кто-то, читающий документацию, мог легко щелкнуть имя функции и посмотреть документацию функции.
У меня нет опыта процедурной модификации текстовых документов, поэтому мне очень понравилась бы помощь в этом, поскольку это кажется довольно сложной процедурой. Я могу легко переупорядочить XML-узлы, если бы это упростило процесс.
вещей я исследовал до сих пор:
Прежде чем рассматривать форматирование DOCX, я хотел написать еще один сценарий, который будет просто искать соответствующие данные, а затем обернуть теги гиперссылка вокруг него. К сожалению, как только я заглянул в docx, кажется, что форматирование намного сложнее.
После этого я решил посмотреть на использование C# через Visual Studio 2010. К сожалению, поскольку у меня нет опыта использования C# (я использовал только C и C++), это было довольно запутанно. Я потратил несколько дней на поиски руководств и ссылок, но все это очень разбросано, и я не могу найти то, что ищу.
Одна из моих самых больших проблем в том, что я даже не знаю, с чего начать. AltChunk выглядит так, как будто это было бы хорошо, за исключением того, что я не знаю, как найти данные, которые нужно изменить в первую очередь. В настоящее время я смотрю на Word Interop на C#, надеясь, что он может дать некоторые ответы, но до сих пор мне не повезло. Есть ли помощь, которую вы можете предложить при фактической навигации по содержимому документа Word? – SwarthyMantooth
См. Рабочий пример, который я добавил в свой ответ. Обратите внимание, что тег altChunk находится там, где будет вставлен HTML, обозначенный «rId2». При таком подходе у вас будет 1 гиперссылка, предоставляемая каждым altChunk. Все, что вам нужно сделать, это base64 закодировать его. – JasonPlutext
О, ничего себе. Это огромная помощь. Я должен был открыть это как независимый файл, чтобы увидеть ссылку. Как именно я должен вставить его в существующий документ? – SwarthyMantooth