如何从pdf文件中删除注释

Posted

技术标签:

【中文标题】如何从pdf文件中删除注释【英文标题】:How to remove a annotation from a pdf file 【发布时间】:2019-12-06 10:31:14 【问题描述】:

我正在添加注释,但无法删除添加的注释。 例如:当我搜索“Tubes”这个词时,它会标记每个“t”字母。

示例图片:

我只想注释“管”字。

我怎样才能删除我添加的所有注释。 我该如何解决这些问题?

代码如下:

var pdfView: PDFView!

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) 
    return highlight(searchTerms: [searchText])


public func highlight(searchTerms: [String]?)

    var highlight = PDFAnnotation()
   searchTerms?.forEach  term in
    let selections = pdfView?.document?.findString(term, withOptions: [.forcedOrdering])
      selections?.forEach  selection in
         selection.pages.forEach  page in
            highlight = PDFAnnotation(bounds: selection.bounds(for: page), forType: .highlight, withProperties: nil)
            highlight.endLineStyle = .square
            highlight.color = UIColor.yellow.withAlphaComponent(0.5)
            page.addAnnotation(highlight)
         
      
   

感谢大家的帮助:)

【问题讨论】:

【参考方案1】:

您可以定义一个删除所有注释的函数,如下所示,并在searchBartextDidChange 方法中调用它:

func removeAllAnnotations() 
    guard let document = pdfView.document else  return 

    for index in 0..<document.pageCount 
        if let page = document.page(at: index) 
            let annotations = page.annotations
            for annotation in annotations 
                page.removeAnnotation(annotation)
            
        
    


func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) 
    removeAllAnnotations()
    return highlight(searchTerms: [searchText])


【讨论】:

以上是关于如何从pdf文件中删除注释的主要内容,如果未能解决你的问题,请参考以下文章

如何从 PDF 文件中删除限制

如何在PDF文件中添加注释功能

sh 从PDF文档中删除所有注释

如何编辑PDF格式文件,PDF文件中的空白页面怎么删除?

我的PDF导出注释到Word时候提示PDF 未加标签,怎么解决啊??

PDF文件如何定位,以备再次打开时能接着往下看?