Разбор PDF для заголовков форм - PullRequest
1 голос
/ 08 октября 2011

Я хочу разобрать pdf для имен и типов полей формы. Является ли это возможным? Потому что, когда я попробовал один PDF, он дал мне несколько странных символов, например ::1001

...
? õ »â ¢ _¸ðO´ × ¢ É] Ì | BQÔQClã (¢ dVò¶ ~? ýg? þª í
pÅ2ÞÎÉÍ ?? Ú wȳ d;?.? к) * lÙ'¸ (ò ú © = IÀ ?? d éPض2Èåäý »р nÜÈûÏ ?? М!??
õl: `Þ ° Ã3 £ BíTCy5? ð? tN¿7fDõK
± |? I¹vü ~ »X s ÷ A ~ О.Е. ± 4 ÕμX ± ¤??
...

Где может быть проблема? Я использовал инструмент http://support.persits.com/pdf/demo_formfields.asp и pdf https://www.drsr.sk//priznania/dpfoa2010.pdf

Я хочу сделать парсер для iOS. Спасибо за ответ.

Ответы [ 2 ]

1 голос
/ 12 октября 2011

Хорошо, поэтому я посмотрел на ссылку и нашел что-то.Мне удалось открыть 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 здесь

1 голос
/ 08 октября 2011

Для анализа PDF на iOS используйте API Quartz .

Пример приложения, использующего этот API, см. В этом ридере .

Чтобы извлечь интересующую вас конкретную информацию, вам необходимо прочитать структуру документа PDF спецификацию и выяснить, в каких словарях она находится (или, если вам повезет, найти образецкод).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...