9

注釈を削除したり、新しい注釈を作成したりせずに、注釈のテキスト(つまり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

注: 同じ注釈の追加/削除も役に立ちません。

4

2 に答える 2