Що таке файли 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>}    (не обов'язково, але зазвичай присутній)
%%EndProlog
<setup>
{<layer>}|{<object>}
{<page trailer>}
<document trailer>
%%EOF

Пролог - це частина, де визначаються необхідні дані для наступного сценарію, візуалізації та друку. Ці дані можуть включати версію мови Postscript, обмежувальну рамку, автора, дату створення та назву. Тут також мають бути визначені необхідні шрифти, глобальні змінні та процедури. Процедури об’єднані в procsets, словники, де кожна процедура пов’язана з назвою літералу. І кожен procsets також має назву. У випадку файлу EPS, коли необхідний шрифт або інший ресурс не визначено в Prolog, це має бути принаймні зазначено з відповідними коментарями %%DocumentNeededFonts, %%DocumentNeededResources,%%DocumentNeededProcSets, %%DocumentNeededFiles. Сценарій містить описи графіки сторінок, які використовують процедури, глобальні змінні та шрифти, визначені раніше в Prolog. Структура файлів PS/EPS позначається спеціальними структурними коментарями, рядками, які починаються з %%.

Що таке файл AI?

Файл AI, або скорочено Adobe Illustrator, насправді є файлом EPS, як стверджує Adobe у специфікації AI. Він містить два коментарі, які є обов’язковими для файлів EPS:

%!PS-Adobe-3.0 EPSF

and

%%BoundingBox: ...

Відмінності між файлами AI і EPS.

Основна відмінність — оператори. Оператори Adobe Illustrator — це послідовності з одного або двох символів, тоді як PS/EPS використовують зрозумілі людині ключові слова, які зазвичай містять більше двох літер.

Adobe Illustrator використовує понад 130 таких операторів з 1‑2 літер, і їх визначення не зберігаються в Prolog файлу AI, як це було б у випадку файлу EPS, а зберігаються в Adobe Illustrator. Швидше за все, вони завантажуються в пам’ять під час запуску програми. Це друга головна відмінність між файлами EPS і AI.

Таким чином, файли AI можна розглядати як файли EPS лише у випадку, якщо для їх створення, редагування, перегляду та друку використовується Adobe Illustrator. Для зовнішніх споживачів, які не мають доступу до ліцензованого матеріалу Adobe Illustrator, не включеного в Prolog файлу AI, тобто до визначень операторів AI, наборів процедур, шрифтів тощо, Формат AI слід розглядати як окремий абсолютно новий формат файлу.

Деякі оператори AI є лише короткими формами операторів PS, як показано нижче.

AI operator

x y m
x y l, x y L
x1 y1 x2 y2 x3 y3 c, x1 y1 x2 y2 x3 y3 C
num w
H
Xa

Native PS operator

x y moveto
x y lineto
x1 y1 x2 y2 x3 y3 curveto
num setlinewidth
closepath
red green blue setrgbcolor

Description

починає новий підшлях поточного шляху
додає відрізок прямої лінії до поточного шляху
додає ділянку кубічної кривої Без'є до поточного шляху
встановлює параметр ширини лінії в графічному стані
закриває поточний підшлях
встановлює поточний колірний простір у графічному стані на DeviceRGB та поточний колір до значень компонентів, заданих червоним, зеленим та синім

Інші представляють більш детальну форму операторів PS.

AI operator

x2 y2 x3 y3 v, x2 y2 x3 y3 V
x1 y1 x3 y3 y, x1 y1 x3 y3 Y
червоний зелений синій Xa
червоний зелений синій XA
блакитний пурпуровий жовтий чорний k
блакитний пурпуровий жовтий чорний K
F
f
S
s
[ a b c d tx ty ] llx lly urx ury
h w біти Тип зображення Альфа-канал Кількість
зарезервовано bin-ascii Маска зображення
XI

Description

додає сегмент кривої Безьє до поточного шляху між поточною точкою і точкою x3, y3, використовуючи поточну точку і, а потім x2, y2 як точки напрямку Безьє
додає криву Безьє до поточного шляху між поточною точкою і точкою x3, y3, використовуючи x1, y1 і x3, y3 як точки напрямку Безьє
setrgbcolor для заливки
setrgbcolor для обведення
setcmykcolor для заливки
setcmykcolor для обведення
заповнює область, обмежену поточним шляхом, поточним кольором або візерунком заливки, залишаючи її відкритим шляхом
той самий, але близький контур
обводить область, обмежену поточним контуром, поточним кольором або візерунком заливки, залишаючи її відкритим контуром
той самий, але близький контур
описує растрове зображення в Adobe Illustrator

Існують абсолютно нові оператори, наприклад ті, що працюють з текстом, градієнтами або шарами.

AI operator

N
n
B
b
(шлях) змінено XG
тип До
в
вирівнювання Ta
a b c d ty ty Tm
ty ty Td
name Ln
[ a b c d tx ty ] llx lly urx ury
h w біти Тип зображення Альфа-канал Кількість
зарезервовано bin-ascii Маска зображення
XF

Опис

ні заповнює, ні штрихів, залишаючи це відкритим шляхом
той же, але близький шлях
заливки і штрихи, залишаючи це відкритим контуром
той же, але близький шлях
оператор посилання на зображення
починає текстовий об’єкт. Аргумент типу приймає одне з таких значень: 0 &мінус; крапковий текст; 1 &мінус; область тексту; 2 &мінус; текст шляху
завершує текстовий об'єкт і відновлює поточну матрицю перетворення
встановлює вирівнювання тексту як по горизонталі, так і по вертикалі
встановлює текстову матрицю для тексту вздовж шляху
перекладає текстову матрицю за tx і ty на початок наступного рядка тексту
встановлює назву шару
описує растрове зображення в Adobe Illustrator, коли фактичні дані зображення не включені у файл

Особливо варто відзначити оператори групування. Вони складаються з операторів початку та кінця, а між ними є інші оператори.

AI operator

*u ... *U
u ... U
тип назви nColors Bd ... BD
topLeftCellIndex selectedIndex Pb ... PB
Mb ... MB
видимий попередній перегляд увімкнено друк
затінений hasMultiLayerMasks
colorIndex червоний зелений синій
Lb ... LB

Description

початок складеного шляху, кінець складеного шляху
почати складну групу, закінчити складену групу
початок визначення градієнта, закінчення визначення градієнта
початок палітри, кінець палітри
маска початку, маска кінця
початкове визначення шару, кінцеве визначення шару

Третя відмінність — псевдокоментарі. Як ми вже знаємо, інтерпретатор PostScript розрізняє стандартні коментарі, рядки, які починаються з ‘%’, і структурні коментарі, які починаються з ‘%%’. Adobe Illustrator додає додаткові, так звані «псевдо» коментарі, які починаються з «%_». Ці коментарі є унікальними для Adobe Illustrator. Вони реалізовані як коментарі, які ігнорує інтерпретатор PostScript, але використовуються Adobe Illustrator та іншими програмами, що читають і аналізують файли AI. Нижче наведено приклад таких операторів‑коментарів.

AI operator

colorSpec colorStyle midPoint rampPoint %_Bs
rampSpec rampType %_Br
%_Gs
%_

Description

опис зупинки кольору градієнта
опис градієнтної рампи
відкриває розділ графіків
зробити деякі інші, характерні для операторів Adobe Illustrator, ігнорованими інтерпретатором PS

Останньою відмінністю між файлами AI та EPS є форма, яку можна переглядати. Adobe розділяє переглядну форму та остаточну форму документа. Остаточна форма містить лише інформацію, необхідну для перегляду або друку сторінок. Revisable Form містить інші матеріали, які можна використовувати для редагування документів у програмі, але не потрібні для друку. Деякі оператори AI існують лише для Revisable Form. Особливо багато таких операторів використовується в роботі з текстом. Псевдокоментарі використовуються для Ревізованої форми. Файли EPS, навпаки, є документами в фінальній формі.

Для чого використовується файл AI?

Файл AI використовується для редагування, передачі та зберігання графіки програми Adobe Illustrator.

Чим відкрити файл AI без Ілюстратора?

Файли AI можна відкривати та переглядати за допомогою програми Adobe Illustrator. Ви також можете використовувати AI Viewer з Aspose, щоб відкрити документ. Це кросплатформна програма, яка не потребує встановлення.

Чи PDF – це те саме, що файл AI?

Ні, це різні формати та мови. Хоча файли PDF і AI мають однакову внутрішню модель опису сторінки, PDF є статичною мовою опису сторінки, тоді як AI є підмножиною PostScript, динамічної мови опису сторінки.