注釈を削除したり、新しい注釈を作成したりせずに、注釈のテキスト(つまりcontents
)をPDFKitで変更できますか?FreeText
次のスニペットは、で表示するときに注釈の内容を変更しませんPDFView
。
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
注: 同じ注釈の追加/削除も役に立ちません。