Так как в России наиболее широко для издательской подготовки текстов и даже для вёрстки используется Word для Windows, то следующей вопрос, который требует пояснения, – как встроить программу на PostScript в документ Word. Дело в том, что Word имеет собственный формат файлов, а программа на PostScript – это обычный ASCII-текст. Разработчики решили эту задачу просто: они оставили для таких случаев лазейку, которая называется поле print. Напомню, что полями в Word называются специальные команды редактора, заключённые в фигурные скобки. Поле print предназначено для того, чтобы выводить символы непосредственно на принтер (например, команды прямого управления принтером, команды на языке PCL и, конечно, PostSript-программы). Формат поля:
{print \p Size “текст”}
Ключ \p указывает, что в поле текст будет записана PostSript-программа. Операторы PostScript, заданные в этом поле, могут работать только в окне рисования, определённом атрибутом Size, значения которого приведены в таблице.
Аргумент | Значение |
page | Рисунок на всей текущей странице (по умолчанию) |
para | В пределах абзаца (высотой не менее дюйма), содержащего поле print |
pic | Рисунок располагается после поля print и до конца абзаца, содержащего это поле |
row | Рисунок в текущей строке таблицы |
cell | Рисунок в текущем элементе таблицы |
Dict | Используется для создания определений и процедур на PostScript, которые будут выполнены позже на той же самой странице. Поэтому dict не следует использовать для рисования. |
Так как текст и графика документа Word печатаются на той же PostScript-странице, что и результат PostScript-программы, не следует использовать операторы, которые изменяют или сбрасывают среду PostScript, а именно, избегайте операторов: banddevice, copypage, framedevice, grestoreall, initgraphics, initmatrix, nulldevice, renderbands и showpage.
При работе с PostScript в Word вам доступны переменные, которые я свёл в следующую таблицу. Значения, представленные этими переменными, даны в пунктах.
Size | Переменная | Описание |
Для всех аргументов | wp$x
wp$y wp$page wp$fpage wp$date wp$time wp$box |
Ширина прямоугольника рисования для заданного аргумента Size
Высота прямоугольника рисования для заданного аргумента Size Текущий номер страницы Отформатированный номер страницы (строка) Текущая дата (строка) Текущая дата (строка) Путь, содержащий прямоугольник рисования |
page, para | wp$top
wp$bottom wp$left wp$right |
Верхняя граница (page); расстояние до (para)
нижняя граница (page); расстояние после (para) Левая граница (page); левый отступ (para) Правая граница (page); правый отступ (para) |
page | wp$col
wp$colx wp$colxb |
Число столбцов на странице. Это число может различаться в зависимости от секции документа, в которой появилось поле с PostScript-операторами
Ширина каждого столбца Расстояние между столбцами |
para | wp$first
wp$style |
Отступ до первой строки
Стиль |
Пример.
{print \p page "/Times-Roman findfont strsize scalefont 0.8 setgray" }