2011-10-08 10 views
1

フォームフィールドの名前とタイプを解析するpdfが必要です。出来ますか?私は1つのPDFをしようとしたとき、それは私に与えたので、いくつかの奇妙な文字は、たとえば:???フォームタイトルのPDFを解析する

...
õ»â¢_¸ðO'×¢E]Ì|BQÔQClã(¢dVò¶〜YGþªí
pÅ2ÞÎÉÍ??ÚwȳD; K)*lÙ'¸(òÚ©= IA ?? DéPض2Èåäý»PnÜÈûÏ?? M
OL:?。? `Þ°A3!??? £BíTCy5ðtN¿7fDõK
±|??????i¹vü〜4±X S÷A〜OE»ÕμX±¤プロになる可能性が
...

blem?私はツールを使用しましたhttp://support.persits.com/pdf/demo_formfields.aspとpdf https://www.drsr.sk//priznania/dpfoa2010.pdf

私はいくつかのパーサーをiOS用に作りたいと思います。ご回答ありがとうございます。

答えて

1

iOSでのPDF解析では、Quartz APIを使用してください。

このAPIを使用するアプリの例については、readerをご覧ください。

あなたが興味を持っている特定の情報を抽出するには、PDF文書の構造specificationを読んで、それがどの辞書に入っているかを調べる必要があります(または、幸いなことにいくつかのサンプルコードがあります)。

+0

を図のように何かを持っているのが好きI'd。私は、その構造を解析して、フィールド型、制約、ラベルを与えるライブラリをいくつか望んでいました。とにかくありがとうございました。 – rackom

+0

Quartz API *では、フォームフィールドを抽出することができます。これは、抽出する正しい辞書名を自分で把握しなければならないことに過ぎません。私はそれがあなたのためにこの最後の部分を行う関数にうれしいことに同意する:) – Danra

+0

ああ、私はクォーツは、グラフィックスとは何か構造を解析する代わりにPDFをレンダリングしていると思った:) – rackom

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); 
} 

は、読者が面白いですが、私はPDF自体の構造から、フォームフィールドを抽出したい14-1 here

関連する問題