Моя компания отправляет клиентам отчеты в формате PDF на основе данных, которые мы экспортируем из другой программы. Я сделал очень простой процесс пакетного экспорта в Adobe Illustrator, просто назначив переменные нашему PDF-файлу, экспортировав эти переменные в файл XML, а затем используя скрипт Python для перезаписи и копирования структуры/переменных XML из данных экспорта CSV.
При загрузке переменных из XML это загружается просто отлично. Проблема возникает при переключении наборов данных, что мы должны делать сотни раз, даже когда пакет макросов/действий «сохраняет копию».
Это сообщение отображается на каждом коммутаторе: «Текущие значения не были захвачены и будут удалены при переключении наборов данных. Продолжить?» Нажатие «Да» (или пробел) «работает» просто отлично; набор данных не просто волшебным образом исчезает, как кажется. Однако при переключении на визуальную проверку достоверности данных или просто на пакетирование действий становится очень утомительно.
Кажется, я не могу найти вариант или предпочтение для подавления таких сообщений, что было бы моим первым предположением для решения. Может быть, где-то в структуре XML есть опция, флаг или параметр, чтобы сказать, что мне все равно? Есть ли обходной путь, например, пакетное действие или «захват всех»? Или любая другая возможность?
Вы используете переменные видимости или графика? Как насчет различных пробельных символов или необычных глифов? Есть некоторые «проблемы», которые возникают во время заполнения данных в заполнители, и, к счастью, исправление доступно с помощью этой функции в вашем документе Illustrator.
function cycleUpdateAllDatasets(doc){
for(var i = 0; i < doc.dataSets.length; i++){
var d = doc.dataSets[i];
d.display();
d.update();
};
};
Метод заключается в отображении и обновлении каждого набора данных, чтобы сделать его «правильным» в глазах Illustrator. Какие бы невидимые изменения ни делал Illustrator, команда dataSet.update() исправит их и, надеюсь, отправит вас дальше. Вы можете воспроизвести этот скрипт .jsx массово, прежде чем приступить к обработке, но также вы можете воспроизвести его во время обработки активного набора данных сразу после его заполнения (команда меню вставки, чтобы вставить скрипт «Файл»> «Сценарии» в ваше действие) .
Xodarap777
Xodarap777
var doc = app.activeDocument;
- достаточно просто использовать скрипт один раз. Тем не менее любопытно, как бы я адаптировал его для пакетного использования, если у вас есть время.Глупый-V
app.activeDocument.activeDataSet.update()
Затем вы сохраните его как файл .jsx в папке вашего приложения Illustrator. Путь Windows: C:\Program Files\Adobe\Adobe Illustrator CC 2017\Presets\en_US\Scripts Перезапустите AI, и он появится в меню «Файл» > «Сценарии». Затем в своих действиях вы используете всплывающее меню панели, чтобы выполнить команду «Вставить элемент меню» и вставить этот новый сценарий.Глупый-V