解析表单标题的PDF

时间:2011-10-08 11:21:45

标签: ios parsing pdf

我想要解析表格字段名称和类型的pdf。可能吗?因为当我尝试一个PDF时,它给了我一些奇怪的字符,例如:

...
?õ?¢| B | B |BQÔQClã(¢dVò¶~?ýg?þªí
pÅ2ÞÎÉÍ??Úwȳd;??K)*lÙ'¸(Oú©= IA ?? déPض2Èåäý»pnÜÈûÏ-4 M!????
õl:`Þ°Ã3£BíTCy5?ð?tN¿7fDõK
±|?i¹vü〜»个S÷A〜OE±4ÕμX±¤????
...

哪里可能是问题?我使用了工具http://support.persits.com/pdf/demo_formfields.asp和pdf https://www.drsr.sk//priznania/dpfoa2010.pdf

我想为iOS制作一些解析器。谢谢你的回答。

2 个答案:

答案 0 :(得分:1)

对于iOS上的PDF解析,请使用Quartz API。

有关使用此API的应用示例,请参阅此reader

要提取您感兴趣的特定信息,您需要阅读PDF文档结构specification并找出它所在的字典(或者,如果您很幸运,可以找到一些示例代码)。 / p>

答案 1 :(得分:1)

好的,所以我查看了参考资料并找到了一些东西。我能够打开PDF并制作一些CGPDFDictionaryRef但我仍然坚持到那一点。这是我的代码:

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("simple_form.pdf"), NULL, NULL);
CGPDFDocumentRef myDocument = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
//CFRelease(pdfURL);

int k;
CGPDFPageRef myPage;

NSInteger numOfPages = CGPDFDocumentGetNumberOfPages (myDocument);
for (k = 0; k < numOfPages; k++) {
  myPage = CGPDFDocumentGetPage (myDocument, k + 1 );
  CGPDFDictionaryRef ref = CGPDFPageGetDictionary(myPage); //what at this point?
  CGPDFPageRelease (myPage);
}

我希望有类似于图14-1 here

的内容