2009-04-23 157 views

回答

1

您可以使用像this one这样的库来打开和修改PDF文件并将每个超链接对象转换为简单文本。

1

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本身定义的链接。例如,具有特定设置的Adobe Reader可以做到这一点。

P.S.我知道这个问题很老,但也许我的回答会让新访客受益。