Docotic.Pdf
,我所涉及的库,可用于查找PDF中的超链接并删除它们。
下面是执行此操作的示例代码:
public static void RemoveHyperlinks(string inputFile, string outputFile)
{
using (PdfDocument doc = new PdfDocument(inputFile))
{
foreach (PdfPage page in doc.Pages)
{
for (int i = 0; i < page.Widgets.Count; i++)
{
PdfWidget widget = page.Widgets[i];
PdfActionArea actionArea = widget as PdfActionArea;
if (actionArea != null)
{
PdfUriAction linkAction = actionArea.Action as PdfUriAction;
if (linkAction != null)
{
page.Widgets.RemoveAt(i);
i--;
}
}
}
}
doc.Save(outputFile);
System.Diagnostics.Process.Start(outputFile);
}
}
请注意,有些浏览者可以检测文本中的超链接,并将其显示为可点击区域,即使PDF本身没有定义链接。例如,具有特定设置的AdobeReader就可以做到这一点。
另外,我知道这个问题很古老,但也许我的回答会对新来的游客有好处。