Я создаю приложение для машинного обучения, чтобы читать информацию о PDF-файлах, чтобы обучить свой алгоритм, мне нужно получить местоположение аннотаций PDF. Есть ли способ установить распознаватель жестов и добавить аннотацию в массив при нажатии? Я успешно добавил аннотации в PDF-файл с помощью регулярного выражения. Но мне нужно добавить аннотацию и связанную с ней информацию (местоположение в документе по щелчку), могу ли я добавить распознаватель жестов в приложение? Мое приложение использует SwiftUI.
func makeNSView(context: NSViewRepresentableContext<PDFViewRepresentedView>) -> PDFViewRepresentedView.NSViewType {
let pdfView = PDFView()
let document = PDFDocument(url: url)
let regex = try! NSRegularExpression(pattern: #"[0-9.,]+(,|\.)\d\d"#, options: .caseInsensitive)
let string = document?.string!
let results = regex.matches(in: string!, options: .withoutAnchoringBounds, range: NSRange(0..<(string?.utf16.count)!))
let page = document?.page(at: 0)!
results.forEach { (result) in
let startIndex = result.range.location
let endIndex = result.range.location + result.range.length - 1
let selection = document?.selection(from: page!, atCharacterIndex: startIndex, to: page!, atCharacterIndex: endIndex)
print(selection!.bounds(for: page!))
let pdfAnnotation = PDFAnnotation(bounds: (selection?.bounds(for: page!))!, forType: .square, withProperties: nil)
document?.page(at: 0)?.addAnnotation(pdfAnnotation)
}
pdfView.document = document
return pdfView
}
и получите кран
func annotationTapping(_ sender: NSClickGestureRecognizer){
print("------- annotationTapping ------")
}
Если кто-то достиг этого, добавив наблюдателя или что-то вроде этого?
Спасибо