Я создаю собственный алгоритм машинного обучения, чтобы получить части счета.Поэтому мне нужно скормить слова и ограничивающие их рамки в модель.Чтобы добиться этого, я токенизирую строку страницы pdf и затем использую
func findString(_ string: String,
withOptions options: NSString.CompareOptions = []) -> [PDFSelection]
. В NSStringCompareOptions я использую .RegularExpression.Но я не получаю никаких результатов.
Вот мой код.
// tokenize string and remove empty arrays
var dummy = pdfString!.components(separatedBy: "\n").joined(separator:
" ").components(separatedBy: " ").filter{$0 != ""}
// loop over every token and search for it with its position
var resultsFound = [[PDFSelection]]()
for word in dummy {
let pattern = "\\b" + word + "\\b"
resultsFound.append(facturaPDF!.findString(pattern, withOptions:
.regularExpression))
}
resultsFound.count
// add the results to the page
for results in resultsFound {
for result in results {
let highlight = PDFAnnotation(bounds: result.bounds(for:
paginaPDF!), forType: .highlight, withProperties: nil)
highlight.endLineStyle = .square
highlight.color = UIColor.orange.withAlphaComponent(0.5)
paginaPDF!.addAnnotation(highlight)
}
}
Если у кого-нибудь есть предложение, я буду благодарен.:)