Понятия набора PDF
Эта глава дает обзор понятий PDF и классов Набора PDF. Если Вы уже знакомы с элементами документа в формате PDF, можно пропустить Основы PDF и перейти непосредственно к Классам Набора PDF.
Основы PDF
PDF является документом, хранившим с помощью Формата Переносимого документа Adobe Corporation. Спецификация PDF, на основе языка рисования PostScript, может описать почти любую комбинацию текста и изображений, а также интерактивных элементов.
Основа PDF является самим документом. В документе у Вас могут быть различные страницы и схема. В странице у Вас могут быть текст, аннотации, и т.д.
Для получения дальнейшей информации о Формате PDF, посмотрите спецификацию PDF, с которой можно загрузить:
http://partners .adobe.com/public/developer/pdf/index_reference.html
Обратите внимание на то, что, если Вы просто хотите вывести на экран документы в формате PDF в своем приложении, Вам обычно не нужен уровень детализации, который обеспечивает спецификация PDF.
Документы
Фундаментальный стандартный блок для PDF является самим документом. Документ обычно хранится на диске как файл.
Документы поддерживают управление версиями и могут быть тегированы с метаданными, такими как автор, дата создания, и т.д.
Документ может быть зашифрован, требуя, чтобы пароль просмотрел его. Существуют два уровня шифрования:
Пользовательское шифрование уровня: Если пользователь успешно получает полномочия пользовательского уровня, он или она может просмотреть документ, но может быть ограничен в печати или копировании документа.
Шифрование уровня владельца: пользователь, получающий полномочия уровня владельца, может просмотреть документ и имеет полные полномочия использования.
Много зашифрованных документов в формате PDF имеют «фиктивный» пароль пользователя, который является пустой строкой. Большинство синтаксических анализаторов документа в формате PDF (включая Набор PDF) автоматически пробует пароль пустой строки на зашифрованных документах, и, если успешный, просто выводит на экран документ. Поэтому технически шифрующийся документ может не обязательно предложить пользователю пароль.
Страницы
Документ в формате PDF состоит из многих страниц. Это метафорический эквивалент страниц в физической книге, и они - то, что пользователь видит на экране. Однако в отличие от физической страницы, страницы PDF могут содержать гиперссылки и аннотации. Страницы могут поддерживать обрезку также, которая может быть полезной, если Вы хотите скрыть посторонние части (такие как регистрационные метки) во время дисплея.
Обратите внимание на то, что большинство объектов на странице указано в пространстве страницы, вместо того, чтобы просмотреть пространство. Т.е. система координат находится в точках (72 точки на дюйм), с источником в нижней левой части страницы, не представлением. Пространство страницы не заботится об изменении масштаба, режиме отображения, и т.д. Элемент, имеющий границы скажем 32 квадрата точек, сохраняет те границы независимо от размера дисплея. Рисунок 1-1 сравнивает эти две системы координат:
Класс PDFView содержит много методов преобразования для перевода координат из пространства представления для разбивки на страницы пространства и наоборот.
Основы
Схема походит на интерактивное оглавление, показывая главу или иерархию структуры документа. Основы упрощают для пользователей видеть структуру документа и переходить к определенному расположению.
Не все документы в формате PDF содержат схему.
Аннотации
Аннотации являются «дополнительными» элементами, которые могут появиться на странице PDF в дополнение к стандартному тексту и изображениям. В то время как у других может быть некоторое интерактивное поведение, некоторые аннотации просто добавляют визуальные опции, такие как строки, круги, и такой.
Некоторые примеры аннотаций включают:
“Липкие примечания” отображение текста.
Отметьте значки, которые могут вывести на экран текст, когда щелкнувшийся по.
Доступные для редактирования текстовые поля, которые могут принять пользовательский текст.
Кнопки, такие как флажки. Такие аннотации, вместе с доступными для редактирования текстовыми полями, могут быть полезными в формах, чтобы быть заполненными пользователем.
Круги, произвольные строки и поля.
Ссылки к другим документам, или к другим разделам в документе.
Выделение, перечеркивания и другие текстовые разметки.
Рисунок 1-3 показывает некоторые типы аннотации, доступные в Наборе PDF.
Это аннотации, которые Набор PDF поддерживает и может вывести на экран в документах. Однако Набор PDF может также поддерживать дополнительные типы аннотации, если они указаны с помощью потоков появления. Потоки появления позволяют Вам нарисовать на основе последовательности получения, а не спецификации на основе определенного типа аннотации. Например, вместо того, чтобы указать “круговую аннотацию с 20 радиусами точки”, поток появления просто содержал бы инструкции для того, чтобы нарисовать круг того размера.
Аннотации часто имеют содержание, связанное с ними, которых может вывести на экран Ваше приложение. Например, текстовые аннотации обычно появляются как значок в PDF; когда пользователь щелкает по нему, окно может открыть отображение его текста.
Обратите внимание на то, что Набор PDF не предоставляет механизм для отображения содержания аннотации; когда пользователь щелкает по аннотации, Ваше приложение должно создать окно для отображения содержания.
Выборы
Документы в формате PDF позволяют пользователю выбрать блоки текста, во многом как приложения текстового редактора. Однако они предлагают большую гибкость в том тексте, выборы не должны быть линейно непрерывными. Например, с помощью Набора PDF, Вы могли выбрать блок текста в странице, которая не должна быть последовательной, как показано на рисунке 1-4, Такие выборы могут быть полезными, если документ содержит многостолбцовые страницы, таблицы или другое необычное форматирование.
Можно экспериментировать с выделением блока удержанием функциональной клавиши при выборе текста в Предварительном просмотре (в OS X v10.4 и позже).
Выборы сохранены, поскольку выбор возражает, которые также хранят дополнительные данные, такие как страница или страницы, содержащие выбор. Эта информация полезна при представлении множественных выборов пользователю (например, список результатов поиска).
Классы набора PDF
Набор PDF разделен на многие различные классы. За исключением PDFView и PDFSelection, эти классы соответствуют примерно различным объектам в спецификации PDF.
Класс PDFView
Класс PDFView, как сеть класс веб-представления Кита, получает на основании Приложения класс Кита Нсвива. Можно использовать объект PDFView непосредственно в приложении просто путем размещения его в Разработчика Интерфейса использования окна. Получите палитру от /Developer/Extras/Palettes/PDFKit.palette
.
PDFView может быть единственным классом Набора PDF, с которым необходимо иметь дело. Это позволяет Вам вывести на экран данные PDF в своем приложении и позволяет пользователям выбрать содержание и перейти через документ, установить уровень изменения масштаба и скопировать текстовое содержание в Область монтажа. Пользователи могут также перетащить документы в PDFView.
PDFView призывает классы утилиты PDF реализовывать большую часть ее функциональности. Если Вы хотите добавить специальные опции, необходимо использовать или разделить на подклассы от служебных классов.
Классы утилиты набора PDF
Классы утилиты PDF Kit предлагают соединение подобных Основе и Приложения подобное Набору поведение. Они походят на класс NSString и его Дополнительные методы NSString, в этом, многие из них поддерживают получение. Эти классы являются подклассами NSObject, как показано на рисунке 1-5.
Документ в формате PDF
Основной класс утилиты PDF Kit является PDFDocument, представляющим данные PDF или файл PDF. Другие служебные классы или инстанцируют от методов в PDFDocument, как PDFPage и PDFOutline; или поддерживайте его, также, как и PDFSelection и PDFDestination.
Вы инициализируете объект PDFDocument с данными PDF или с URL к файлу PDF. Можно тогда попросить количество страницы, добавлять или удалять страницы, выполнять находку или анализировать выбранное содержание в объект NSString.
PDFPage
Как Вы могли бы ожидать, класс PDFPage представляет страницы в документе в формате PDF. Ваше приложение инстанцирует объекта PDFPage путем выяснения один от объекта PDFDocument. Объекты страницы PDF - то, что пользователь видит на экране, и представление может вывести на экран больше чем одну страницу за один раз. Можно использовать PDFPage, чтобы представить содержание PDF на экране, добавить аннотации, символы количества, определить выборы и получить текстовое содержание страницы как объект NSAttributedString или NSString.
PDFOutline
В дополнение к отображению фактического содержания документа Набор PDF может также представить информацию о схеме, если это включено в PDF. Объект PDFOutline представляет родительский или дочерний элемент в иерархии схемы.
Основы составлены из иерархии объектов PDFOutline. Верхний уровень является корневым объектом схемы, действующим только как контейнер для других объектов схемы. Корневая схема невидима для пользователя.
PDFSelection
Объект PDFSelection охватывает промежуток текста в документе в формате PDF. Вы не создаете выборы PDF непосредственно. Вы получаете объекты PDFSelection как возвращаемые значения от методов выбора, которые Вы вызываете на PDFPage или объекты PDFDocument, и как возвращаемые значения от успешных поисков.
Выборы на представлении PDF могут охватить многократные страницы, может быть состоящим из нескольких несмежных участков, или оба. Например, можно выбрать текст в отдельном столбце последовательных страниц на два столбца. Можно получить текст и страницы, покрытые от выбора, выборов объединения, или расширить выборы в любом направлении.
PDFAnnotation
Объект PDFAnnotation может представлять множество содержания кроме основного текстового содержания в файле PDF: ссылки, элементы формы, выделяя круги, и т.д. Каждая аннотация связана с определенным расположением на странице и может предложить интерактивность с пользователем.
PDFAnnotation является абстрактным суперклассом реальных классов, показанных на рисунке 1-3. Различные реальные классы представляют типы аннотации тот Набор PDF поддержки.
PDFBorder
Объекты PDFBorder инкапсулируют поведение получения для границы объекта PDFAnnotation. Граница PDF позволяет Вам указать такие атрибуты как стиль линии (например, тело, подчеркнутое штриховой линией или скошенное), ширина строки и угловой радиус.