Автоматизация Mac iWork /Pages
-
09-06-2019 - |
Вопрос
В Microsoft Office существует богатая модель написания сценариев, но в Apple iWork это не так, и, в частности, в текстовом редакторе Pages.Хотя есть несколько перехватов AppleScript, похоже, что лучшим подходом является манипулирование базовыми XML-данными.
Это оказывается довольно уродливым, потому что (например) разрывы страниц хранятся в XML.Так, например, у вас есть что-то вроде:
... we hold these truths to be self evident, that </page>
<page>all men are created equal, and are ...
Поэтому, если вы хотите добавить или удалить текст, вам нужно переместить начальные / конечные теги в зависимости от размера текста на странице.Это практически невозможно без вычисления количества слов, которое может вместить страница, что кажется дико неэлегантным.
У кого-нибудь есть какие-нибудь мысли по этому поводу?
Решение
Я бы предположил, что изменение базового XML-файла "считается вредным".Особенно, если вы еще не проверили, открыт ли документ!
Я быстро просмотрел Словарь сценариев для страниц, и он кажется довольно всеобъемлющим;вот часть одной записи:
документ н [инх. документ > предмет;смотрите также Стандартный люкс] :Документ со страницами.
элементы
содержит захваченные страницы, символы стили, диаграммы, графики, изображения, строки, стили списков, страницы, абзацы стили, разделы, фигуры, таблицы, текст поля.
свойства
основной текст (текст) :Основной текстовый поток документа.
нижнее поле (настоящий) :На нижнем поле публикации.
обращенные страницы (логическое значение) :Независимо от того, установлен ли режим просмотра в положение "Лицом к страницам" .
поле нижнего колонтитула (настоящий) :Поле нижнего колонтитула публикации.
поле заголовка (настоящий) :Поле заголовка публикации.
ID (целое число, r/o) :Уникальный идентификатор документа.
...
Итак, я думаю, я хотел бы знать, что именно вы хотите сделать такого, чего не можете сделать с помощью AppleScript?
Другие советы
Последняя версия iWork '09 включает в себя очень подробные, хотя и не полные, хаки Applesript, особенно для страниц.Использование Applescript должно быть намного безопаснее и стабильнее, чем изменение базового файла.