C# DocX: добавить внутреннюю ссылку

В библиотеке DocX доступны по адресу: https://github.com/WordDocX/DocX

Можно добавить гиперссылку, но я не нашел способа добавить внутреннюю ссылку.

Кто-нибудь знает, как добавить ссылку на конкретный абзац или на закладку?

2 ответа

Решение

Способ, который я нашел:

synthesisDocument.AddHyperlink("Link",new Uri("file:///path/to/doc/file.doc#MY_BOOKMARK")); synthesisDocument.Paragraphs[0].InsertHyperl‌​ink(h)

Таким образом, вы решите проблему, но только в формате doc, когда вы экспортируете в PDF, это не сработает. Я надеюсь, что это помогает

Как уже упоминалось, #BookMark работает, если Uri создан с флагом UriKind.Relative:

 var uri = new Uri("#" + BookMark,UriKind.Relative);
 var hyperLink =  doc.AddHyperlink(textToDisplay, uri  );

Теперь, чтобы использовать гиперссылку на абзац, p:

 p.InsertHyperlink(hyperLink,indexToInsertAt);

Я достиг именно того результата, который хотел, используя это как в.docx, так и в.pdf

Надеюсь, это работает для вас,

Ник

Другие вопросы по тегам