Преобразование PostScript

Приложение Предварительного просмотра автоматически преобразовывает файлы PostScript в PDF. 2D API Кварца обеспечивает функции, которые можно использовать для выполнения преобразования PostScript в приложении. Кварц 2D функции преобразований PostScript не доступен в iOS.

Выполните эти шаги для преобразования документа PostScript документу в формате PDF:

  1. Запишите обратные вызовы. Кварц передает состояние на процессы страницы посредством обратных вызовов.

  2. Заполните структуру обратных вызовов.

  3. Создайте объект преобразователя PostScript.

  4. Создайте объект поставщика данных для файла PostScript, который Вы хотите преобразовать.

  5. Создайте потребительский объект данных для PDF, следующего из преобразования.

  6. Выполните преобразование.

Каждый из этих шагов обсужден в следующих разделах.

Запись обратных вызовов

Обратные вызовы обеспечивают путь к Кварцу для информирования приложения состояния преобразования. Если Ваше приложение имеет пользовательский интерфейс, можно использовать информацию о статусе для обеспечения обратной связи для пользователя, как показано на рисунке 15-1.

Рисунок 15-1  сообщение о состоянии для приложения преобразования PostScript
A status message for a PostScript conversion application

Можно обеспечить обратные вызовы, чтобы сообщить приложению, что 2D Кварц:

Посмотрите Ссылку CGPSConverter для прототипа, за которым следует каждый обратный вызов.

Заполнение структуры обратных вызовов

Необходимо присвоить номер версии и обратные вызовы, которые Вы создали к надлежащим полям CGPSConverterCallbacks структура данных (показанный в Перечислении 15-1). Версия 0. Присвоиться NULL к тем полям, для которых Вы не предоставляете обратный вызов.

Перечисление 15-1  структура данных обратных вызовов преобразователя PostScript

struct CGPSConverterCallbacks {
   unsigned int version;
   CGPSConverterBeginDocumentCallback beginDocument;
   CGPSConverterEndDocumentCallback endDocument;
   CGPSConverterBeginPageCallback beginPage;
   CGPSConverterEndPageCallback endPage;
   CGPSConverterProgressCallback noteProgress;
   CGPSConverterMessageCallback noteMessage;
   CGPSConverterReleaseInfoCallback releaseInfo;
};

Создание объекта преобразователя PostScript

Вы вызываете функцию CGPSConverterCreate создать объект преобразователя PostScript. Эта функция берет три параметра:

Создание потребительских объектов провайдера данных и данных

Вы создаете объект поставщика данных путем вызывания функции CGDataProviderCreateWithURL, предоставление объекта CFURL, указывающего адрес файла PostScript, который Вы хотите преобразовать.

Точно так же Вы создаете потребительский объект данных путем вызывания функции CGDataConsumerCreateWithURL, предоставление объекта CFURL, указывающего адрес документа в формате PDF, следующего из преобразования.

Выполнение преобразования

Вы вызываете функцию CGPSConverterConvert выполнять фактическое преобразование от PostScript до PDF. Эта функция берет в качестве параметров:

Функциональные возвраты true если преобразование успешно.

Можно вызвать функцию CGPSConverterIsConverting проверять, развивается ли все еще преобразование.