C#DocX:添加内部链接

时间:2017-10-03 11:57:10

标签: c# .net novacode-docx

在Docx库中可用:https://github.com/WordDocX/DocX

可以添加一些超链接,但我还没有找到添加内部链接的方法。

有谁知道如何添加指向特定段落或书签的链接?

2 个答案:

答案 0 :(得分:1)

我发现的方式是:

// the purpose of this wrapper is to ensure that any // uncaught exceptions after a setTimeout still get caught function callbackWrapper(func) { return function() { try { func(); } catch (err) { // callback will reach here :) // do appropriate error handling console.log("error"); } } } try { setTimeout(callbackWrapper(function() {throw "ERROR";}), 1000); } catch (err) { // callback will never reach here :( }

这样可以解决您的问题,但只有在doc格式中,当您导出为PDF时,它才能解决问题。 我希望它有所帮助

答案 1 :(得分:0)

如前所述,如果使用UriKind.Relative标志创建Uri,#BookMark会起作用:

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

现在使用段落上的超链接,p:

 p.InsertHyperlink(hyperLink,indexToInsertAt);

我在.docx和.pdf

中完全实现了我想要的结果

希望它适合你,

尼克