[Acr DC] Искривление текста при добавлении колонтитулов

древнее зло пробудилось
Нет. Проблема с файлом по ходу. Сохрани его в 1.3 акробатом, произойдет тоже самое...
для саморазвития
Можно скриптом через формы сделать. Вопрос надо ли теперь... :) Правда через формы менять/дополнять будет легко и скрипт для изменения уже не нужен будет.
 
Последнее редактирование:
я видел только в акробате. Ну, иногда ещё на бумаге
А теперь и в CorelDraw :) Хотя и не так сильно... :)

1723810129308.png
 
  • Спасибо
Реакции: Jeine
скриптом через формы
Скрипт для добавления уникальных форм по шаблону оформления:

JavaScript:
VariableDataFormTemplate = app.trustedFunction(
function() {
app.beginPriv();
//-----------------------------------------------
    var doc = this;
    var templateFoterArr = getFieldByPattern ("TemplateFooter", doc);
    for (var i = 0 ; i < templateFoterArr.length ; i++) {
        t = templateFoterArr[i];
        for (var n = 0 ; n < doc.numPages ; n++) {
            addDataFields (t, n, doc)
        };
        var tv = t.value;
        t.value = "";
        t.value = tv;
        var tPos = t.rect;
        t.rect = [tPos[0],tPos[1]*2-tPos[3], tPos[2], tPos[1]];
    };
//-----------------------------------------------
app.endPriv();
});
 
 function addDataFields (t, nP, doc) {
    var fName = t.name.replace("Template", "Data") + " " + nP;
    doc.removeField(fName);
    var f = doc.addField(fName, "text", nP, t.rect);
    for ( var i in t ) {
        try {
            if ( typeof t[i] != "function" ) f[i] = t[i];
        } catch(e) {};
    };
    var cScript = ['var tplValue = this.getField("'+t.name+'").value',
    'var page = this.getField("'+fName+'").page+1',
    'var pages = this.numPages',
    'tplValue = tplValue.replace(/(<page>)/g, page)',
    'tplValue = tplValue.replace(/(<pages>)/g, pages)',
    'this.getField("'+fName+'").value = tplValue'].join('\n');
    f.display = display.visible;
    f.readonly = true;
    f.setAction("Calculate", cScript);
 };
 
function getFieldByPattern (pattern, doc) {
    var tArr = [];
    for (var i = 0 ; i < doc.numFields ; i++) {
        var fn = doc.getNthFieldName(i) ;
        if (fn.indexOf(pattern)>=0) {
            tArr.push (doc.getField(fn))
        };
    };
    return tArr;
};

app.addMenuItem({
    cName: 'VariableDataFormTemplate',
    cParent: 'Edit',
    cExec: 'VariableDataFormTemplate()'
});
Для корректировки скрипт уже не нужен, если заменить в шаблоне на первой странице год, поменяется на всех. Возможно корректировать можно даже в ридере:)
 

Вложения

  • 3.pdf
    3.pdf
    1.5 МБ · Просм.: 1
  • Спасибо
Реакции: zollinger