該文檔對我來說不是很清楚。到目前爲止,我認爲我需要設置一個CGPDFOperatorTable,然後爲每個PDF頁面創建一個CGPDFContentStreamCreateWithPage和CGPDFScannerCreate。如何使用Swift解析PDF頁面中的內容
該文件涉及設置回調,但它不清楚如何。如何真正從頁面獲取內容?
這是我的代碼到目前爲止。
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)
這是一個類似的問題:PDF Parsing with SWIFT,但還沒有答案。
我想我必須寫回調,被稱爲當掃描儀掃描。有人可以發佈一個回調的例子嗎?這是一種用CGPDFOperatorTableSetCallback註冊的自定義方法嗎?一個例子會很棒。 –
你知道這個事實,如果檢查沒有做任何事情?因爲它返回的if塊,然後繼續執行。要使頁面只在頁面中循環時,請將if塊內的所有內容放入else塊中。 – Eric
我這樣做。我真的想更多地瞭解回調。我知道if語句,謝謝! –