Что такое AI-файл? | База знаний
Введение
Файлы AI — это файлы, созданные и используемые графическим редактором Adobe Illustrator. Они написаны на языке PostScript, о котором вы можете прочитать в статье “Что такое PS-файл?”. Напомним, что синтаксис языка PostScript имеет постфиксную запись в форме Бэкуса-Наура (BNF).
operand1...operandm operator |
Также, как вы помните, файлы PS как минимум имеют структуру, состоящую из частей Prolog и Script.
%!PS-Adobe-3.0 EPSF<header comments>%%EndComments%%BeginProlog{<proc set>} (not required, but is normally present)%%EndProlog<setup>{<layer>}|{<object>}{<page trailer>}<document trailer>%%EOF |
Пролог — это часть, в которой определяются необходимые данные для последующего скрипта, рендеринга и печати. Эти данные могут включать версию языка Postscript, ограничивающую рамку, создателя, дату создания и заголовок. Здесь также следует определить необходимые шрифты, глобальные переменные и процедуры. Процедуры объединены в procsets, словари, где каждая процедура связана с буквальным именем. И каждый процесс также имеет имя. В случае файла EPS, когда необходимый шрифт или другой ресурс не определен в Прологе, это следует как минимум отметить соответствующими комментариями %%DocumentNeededFonts, %%DocumentNeededResources,%%DocumentNeededProcSets, %%DocumentNeededFiles. Скрипт содержит описания графики страниц, в которых используются процедуры, глобальные переменные и шрифты, определенные ранее в Прологе. Структура файлов PS/EPS обозначается специальными структурными комментариями — строками, начинающимися с %%.
Что такое AI-файл?
Файл AI или сокращенный файл Adobe Illustrator на самом деле является файлом EPS, как это заявлено Adobe в спецификации AI. Он содержит два комментария, которые необходимы в файлах EPS:
%!PS-Adobe-3.0 EPSF |
%%BoundingBox: ... |
Различия между файлами AI и EPS.
Основное отличие — операторы. Операторы Adobe Illustrator представляют собой последовательности из одного или двух символов, тогда как PS/EPS используют удобочитаемые ключевые слова, которые обычно содержат более 2 букв.
Adobe Illustrator использует более 130 таких 1-2-буквенных операторов, и их определения не хранятся в Прологе AI-файла, как это было бы в случае с файлом EPS, а хранятся где-то в Adobe. Приложение иллюстратор. Скорее всего они загружаются в память при запуске приложения. И это второе основное различие между файлами EPS и AI.
Таким образом, файлы AI можно рассматривать как файлы EPS только в том случае, если для их создания, редактирования, просмотра и печати используется Adobe Illustrator. Для внешних потребителей, у которых нет доступа к лицензионным материалам Adobe Illustrator, не включенным в Пролог файла AI, то есть определениям операторов AI, наборам процедур, шрифтам и т. д., Формат AI следует рассматривать как отдельный совершенно новый формат файлов.
Некоторые операторы AI представляют собой сокращенные формы операторов PS, как показано ниже.
AI operator x y mx y l, x y Lx1 y1 x2 y2 x3 y3 c, x1 y1 x2 y2 x3 y3 Cnum wHXa | Native PS operator x y movetox y linetox1 y1 x2 y2 x3 y3 curvetonum setlinewidthclosepathred green blue setrgbcolor | Description starts a new subpath of the current pathappends a straight line segment to the current pathappends a section of a cubic Bezier curve to the current pathsets the line width parameter in the graphics statecloses the current subpathsets the current color space in the graphics state to DeviceRGB and the current color to the component values specified by red, green, and blue |
Другие представляют собой более подробную форму операторов PS.
AI operator x2 y2 x3 y3 v, x2 y2 x3 y3 Vx1 y1 x3 y3 y, x1 y1 x3 y3 Yred green blue Xared green blue XAcyan magenta yellow black kcyan magenta yellow black KFfSs[ a b c d tx ty ] llx lly urx uryh w bits ImageType AlphaChannelCountreserved bin-ascii ImageMask XI | Description adds a Bezier curve segment to the current path between the current point and the point x3, y3, using the current point and then x2, y2 as the Bezier direction pointsappends a Bezier curve to the current path between the current point and the point x3, y3 using x1, y1 and x3, y3 as the Bezier direction pointssetrgbcolor for fillsetrgbcolor for strokesetcmykcolor for fillsetcmykcolor for strokefills the area enclosed by the current path with the current filling color or pattern, leaving it as an open paththe same, but close pathstrokes the area enclosed by the current path with the current filling color or pattern, leaving it as an open paththe same, but close pathdescribes a raster image in Adobe Illustrator |
И есть совершенно новые операторы, например те, которые работают с текстом, градиентами или слоями.
AI operator NnBb(path) modified XGtype ToTOalignment Taa b c d ty ty Tmty ty Tdname Ln[ a b c d tx ty ] llx lly urx uryh w bits ImageType AlphaChannelCountreserved bin-ascii ImageMask XF | Description neither fills nor strokes, leaving it as an open paththe same, but close pathfills and strokes, leaving it as an open paththe same, but close pathimage link operatorbegins a text object. The type argument take on one of the following values: 0 − point text; 1 − area text; 2 − path textends a text object and restores the current transformation matrixsets text alignment both horizontally and verticallysets the text matrix for text along a pathtranslates the text matrix by tx and ty to the beginning of the next line of textsets layer namedescribes a raster image in Adobe Illustrator when the actual image data is not included in the file |
Стоит особо отметить операторы группировки. Они состоят из начального и конечного операторов, а между ними находятся другие операторы.
AI operator *u ... *Uu ... Uname type nColors Bd ... BDtopLeftCellIndex selectedIndex Pb ... PBMb ... MBvisible preview enabled printingdimmed hasMultiLayerMaskscolorIndex red green blue Lb ... LB | Description begin compound path, end compound pathbegin compound group, end compound groupbegin gradient definition, end gradient definitionbegin palette, end palettebegin mask, end maskbegin layer definition, end layer definition |
Третье отличие — псевдокомментарии. Как мы уже знаем, интерпретатор PostScript различает стандартные комментарии, строки, начинающиеся с «%», и структурные комментарии, начинающиеся с «%%». Adobe Illustrator добавляет дополнительные, так называемые, «псевдо» комментарии, которые начинаются с «%_». Эти комментарии на самом деле являются совершенно новыми, свойственными Adobe Illustrator операторами. Они реализованы в виде комментариев и игнорируются интерпретатором PostScript, но используются Adobe Illustrator и другими приложениями, которые читают и анализируют файлы AI. Ниже приведен пример таких комментариев-операторов.
AI operator colorSpec colorStyle midPoint rampPoint %_BsrampSpec rampType %_Br%_Gs%_ | Description gradient color stop descriptiondescription of the gradient rampopens the graph sectionmake some other peculiar to Adobe Illustrator operators ignorable by PS interpreter |
Последнее различие между файлами AI и EPS — это пересматриваемая форма. Adobe разделяет Пересматриваемую форму и Окончательную форму документа. Окончательная форма содержит только информацию, необходимую для просмотра или печати страниц. Пересматриваемая форма содержит другие элементы, которые можно использовать для редактирования документов в приложении, но которые не нужны для печати. Некоторые операторы AI существуют только для Revisable Form. Особенно много этих операторов используется при работе с текстом. Все псевдокомментарии используются для пересматриваемой формы. Файлы EPS, напротив, представляют собой документы в окончательной форме.
Для чего используется AI-файл?
Файл AI используется для редактирования, передачи и хранения графики приложения Adobe Illustrator.
Как открыть файл AI?
Файлы AI можно открывать и просматривать с помощью автономного приложения Adobe Illustrator.
Вы также можете использовать AI Viewer из Aspose, чтобы открыть свой документ. Это кроссплатформенное приложение, не требующее установки.
PDF — это то же самое, что AI File?
Нет, это разные форматы и языки. Хотя файлы PDF и AI имеют одну и ту же внутреннюю модель описания страниц, PDF — это статический язык описания страниц, а AI — подмножество PostScript, динамического языка описания страниц.