(모든 예제는 ObjC을하는을 ...)신속 CGPDFDocument 구문 분석
let filepath = "/Users/ben/Desktop/Test.pdf"
let localUrl = filepath as CFString
if let pdfURL = CFURLCreateWithFileSystemPath(nil, localUrl, CFURLPathStyle.cfurlposixPathStyle, false) {
if let pdf = CGPDFDocument(pdfURL) {
if let inf = pdf.info {
CGPDFDictionaryApplyFunction(inf, { (key, object, info) -> Void in
print("\(key), \(object), \(info)")
}, nil)
}
if let cat = pdf.catalog {
CGPDFDictionaryApplyFunction(cat, { (key, object, info) -> Void in
print("\(key), \(object), \(info)")
}, nil)
}
}
}
이 일부를 생산하는 것 같지만 결과는 16 진수 문자열입니다.
0x00007ff29f43ce00, 0x00007ff29f492bd0, nil
0x00007ff29f443b60, 0x00007ff29f492cd0, nil
0x00007ff29f482590, 0x00007ff29f492dd0, nil
0x00007ff29f482a40, 0x00007ff29f492ed0, nil
0x00007ff29f482e30, 0x00007ff29f492fe0, nil
0x00007ff29f47da20, 0x00007ff29f4930e0, nil
0x00007ff29f474ac0, 0x00007ff29f842b50, nil
0x00007ff29f43f5d0, 0x00007ff29f842bf0, nil
0x00007ff29f485eb0, 0x00007ff29f842a60, nil
0x00007ff29f482f70, 0x00007ff29f842ab0, nil
0x00007ff29f48b1c0, 0x00007ff29f48f6d0, nil
어떻게 실제 데이터를 얻을 수 있습니까? 이상적으로는 문서 메타 데이터와 포함 된 글꼴 같은 것을 얻으려고합니다.
스위프트 3을 사용하고 있지만 멋진 것들입니다. 따라서 많은 오류가 발생했습니다. 특히,'var objectStream = CGPDFStreamRef()'와 같은 것들은 인수를 필요로합니다. – benwiggy
시간을 내 주셔서 감사합니다. 애플은 "CGPDFJustGetAllTheData"와 같은 분명한 작업을 위해 고차원 API를 개발할 것이라고 생각한다. 또는 함수 라이브러리가 더 보편적입니다. – benwiggy
대단히 환영합니다! 이것이 도움이 될 수있어서 기쁘다. 사실, 애플 API는 사용자 친화적이지 않다. PDF 디코딩 자체를 배우는 것은 꽤 시간이 많이 걸린다. –