Forms Xobjects
Forms XObjects - способ описания объектов (текст, битмапы, вектора) в PostScript или PDF файле. По сути, Forms XObjects являются логическим эквивалентом EPS файлов, поскольку представляют собой комбинацию текста, векторов и битмапов хранящихся вместе. Вы можете использовать Forms XObjects внутри Forms XObjects.
Концепцию Forms XObjects можно найти в спецификации PostScript Level 2 1991 года. Смысл ее заключается в том, что стало возможным кэшировать информацию о частях страницы, которые использовались несколько раз на странице или в файле. Эта концепция перекочевала и в формат PDF, начиная с версии 1.0.
Как создаются Forms XObjects
Значительное число приложений создают Forms XObjects в PDF файлах. Вот некоторые варианты:
- Хотя это и не требуется технически, Acrobat Distiller всегда создает Forms XObjects при использовании OPI, за исключением одиночного битмапа, который может быть представлен как простейший Image XObject. Если вы не используете OPI в своей работе, вы можете выключить опцию "Preserve OPI" в Distiller Job Options и убрать множественные появления Forms XObjects.
- InDesign 1.x также часто использует Forms XObjects.
- PDF файл со спуском полос, полученный из таких приложений, как KIM PDF или ScenicSoft Preps 4 будет содержать Forms XObjects.
- Creo Pagelet, плагин к Acrobat для размещения PDF файлов внутри других PDF файлов, использует Forms XObjects, также как и плагин Quite A Box Of Tricks при использовании его функций работы с формами, полями и комментариями.
- При использовании flattenPages из JavaScript (например, при использовании пакетной обработки в Acrobat 5), аннотации и формы будут преобразованы в Forms XObjects.
Проблемы с Forms XObjects
Forms XObjects являются 'легальной' конструкцией в PDF файлах. Но не все PDF приложения могут их корректно обрабатывать. Классический пример: Enfocus PitStop. Он не может ни нормально проверить такие объекты, ни редактировать их. Это связано с тем, что Adobe PDFLibrary API имеет ограничения при обработке Forms XObjects. Другие производители, включая callas software, Quite и Apago успешно работают над решением этих проблем в своих программах.