Проблема разбора pdf

Привет, я работаю над PDF Viewer. Я хочу извлечь все содержимое PDF. получит ли cgpdgscanner все содержимое pdf??

яблочная документация очень краткая. его трудно осуществить с помощью приведенных объяснений. и много гуглинов также ведет в никуда.

поэтому кто-то может объяснить использование цели и использование следующего:

1.CGPDFOperatorTableRef

2.CGPDFOperatorTableSetCallback

3.CGPDFScannerRef

4.CGPDFContentStreamRef

После того, как все это сделано, как просмотреть данные, полученные после анализа.

заранее спасибо.

2 ответа

Решение

CGPDFScanner проанализирует поток графического содержимого PDF (содержимое страницы или содержимое XObject). Это очень низкий уровень PDF, вы должны знать спецификацию PDF, чтобы интерпретировать результаты анализа. CGPDFScanner будет вызывать ваш метод каждый раз, когда он встречает интересующего вас оператора. CGPDFOperatorTable хранит список операторов, о которых вы хотите получать уведомления. Если вы хотите извлечь весь контент, вы должны заполнить эту таблицу всеми графическими операторами PDF. Каждый оператор связан с методом (обратным вызовом), который вызывается, когда сканер находит оператора в потоке содержимого PDF.
CGPDFScannerRef - это сканер PDF, а CGPDFContentStreamRef - поток содержимого PDF, поток, связанный с объектом PDF. Содержание этого потока зависит от объекта PDF, с которым связан этот поток.

Нет ничего сложного в разборе pdf-контента, но то, что делает его более трудным, заключается в выделении искомого текста в PDF.

Для разбора делайте как размещено на нижеприведенном URL.

http://www.random-ideas.net/posts/42

Для точного читателя получите код ниже (но он показывает неуклюжий логотип)

https://github.com/mobfarm/FastPdfKit

Спасибо

Другие вопросы по тегам