2017-10-03 3 views
0

Dans la bibliothèque DocX disponible à: https://github.com/WordDocX/DocXC#: DocX ajouter un lien interne

Il est possible d'ajouter un peu de lien hypertexte, mais je n'ai pas trouvé un moyen d'ajouter un lien interne.

Est-ce que quelqu'un sait comment ajouter un lien à un paragraphe spécifique ou à un signet?

+0

Avez-vous essayé de créer un lien vers #bookmarkwhatever? – BugFinder

+0

Comment? Tout échantillon de code? –

+0

lien vers #bookmarkwhatever - de la même manière que vous liez à un autre lien – BugFinder

Répondre

1

La façon dont je l'ai trouvé est:

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

De cette façon à résoudre votre problème, mais seulement en format doc, lors de l'exportation au format PDF, il ne fonctionne pas. J'espère que cela aide

+0

C'est le meilleur indice que j'ai trouvé, je peux définitivement commencer à travailler avec ça, merci beaucoup. –

0

Comme mentionné #BookMark ne fonctionne que si l'Uri est créé avec le drapeau UriKind.Relative:

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

maintenant à utiliser l'hyperlien sur un paragraphe, p:

p.InsertHyperlink(hyperLink,indexToInsertAt); 

J'atteint exactement le résultat que je voulais utiliser ce dans les deux .docx et .pdf

espérons que cela fonctionne pour vous,

Nick