可以在PDFKit中更改FreeText注释的文本(即内容)而不删除注释/构建新注释吗?
let url = Bundle.main.url(forResource: "Test",withExtension: "pdf")! let document = PDFDocument(url: url)! for index in 0..<document.pageCount { let page: PDFPage = document.page(at: index)! let annotations = page.annotations for annotation in annotations { annotation.contents = "[REPLACED]" } } mainPDFView.document = document
这有效 – 但需要替换注释(因此必须复制注释的所有其他细节):
let url = Bundle.main.url(forResource: "Test",withExtension: "pdf")! let document = PDFDocument(url: url)! for index in 0..<document.pageCount { let page: PDFPage = document.page(at: index)! let annotations = page.annotations for annotation in annotations { print(annotation) page.removeAnnotation(annotation) let replacement = PDFAnnotation(bounds: annotation.bounds,forType: .freeText,withProperties: nil) replacement.contents = "[REPLACED]" page.addAnnotation(replacement) } } mainPDFView.document = document
解决方法
您是否尝试在更新注释文本后调用pdfView.annotationsChanged(on:pdfPage)?