La documentazione non è molto chiara per me. Finora ho bisogno di configurare un CGPDFOperatorTable e quindi creare una pagina CGPDFContentStreamCreateWithPage e CGPDFScannerCreate per PDF.Come posso analizzare il contenuto da una pagina PDF con Swift
La documentazione si riferisce all'impostazione di Callback, ma non è chiaro come. Come ottenere effettivamente il contenuto da una pagina?
Questo è il mio codice finora.
let pdfURL = NSBundle.mainBundle().URLForResource("titleofdocument", withExtension: "pdf")
// Create pdf document
let pdfDoc = CGPDFDocumentCreateWithURL(pdfURL)
// Nr of pages in this PF
let numberOfPages = CGPDFDocumentGetNumberOfPages(pdfDoc) as Int
if numberOfPages <= 0 {
// The number of pages is zero
return
}
let myTable = CGPDFOperatorTableCreate()
// lets go through every page
for pageNr in 1...numberOfPages {
let thisPage = CGPDFDocumentGetPage(pdfDoc, pageNr)
let myContentStream = CGPDFContentStreamCreateWithPage(thisPage)
let myScanner = CGPDFScannerCreate(myContentStream, myTable, nil)
CGPDFScannerScan(myScanner)
// Search for Content here?
// ??
CGPDFScannerRelease(myScanner)
CGPDFContentStreamRelease(myContentStream)
}
// Release Table
CGPDFOperatorTableRelease(myTable)
E 'una domanda simile a: PDF Parsing with SWIFT ma non ha ancora risposto.
mi sa che devo scrivere callback, che sono chiamati quando viene eseguita la scansione. Qualcuno può pubblicare un esempio di callback? È un metodo personalizzato che mi registro con CGPDFOperatorTableSetCallback? Un esempio sarebbe grandioso. –
Sei consapevole del fatto che il controllo se non fa nulla? perché ritorna fuori dal blocco if e quindi continua ad essere eseguito. Per fare solo scorrere le pagine se ci sono pagine, metti tutto dopo il blocco if all'interno di un altro blocco. – Eric
lo faccio. Voglio davvero saperne di più sui callback. Sono a conoscenza dell'istruzione if, grazie però! –