如何从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】:您可以定义一个删除所有注释的函数,如下所示,并在searchBar
的textDidChange
方法中调用它:
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文件中删除注释的主要内容,如果未能解决你的问题,请参考以下文章