[Acr DC] Нужен скрипт, меняющий чётные и нечётные страницы местами

ChiPmld

Топикстартер
10 лет на форуме
Сообщения
152
Реакции
4
Здравствуйте всем!
Нужен скрипт, меняющий чётные и нечётные страницы местами: из 1-2-3-4-5-6 нужно получить 2-1-4-3-6-5.
Вожусь с Алисой, но пока не получается. Её предложение не работает.
 
можно конкретнее, плиз. Я попробовал, не получается выставить страницы нужным мне порядком
Screenshot_2.jpg

Screenshot_3.jpg

Во втором окне между 2 и 1 нужен пробел.
 
  • Спасибо
Реакции: densen, George и ChiPmld
Если научиться пользоваться Quite Imposing, будет в стотыщмильёнов раз лучше. Для страниц там есть практически всё.
 
Если научиться пользоваться Quite Imposing, будет в стотыщмильёнов раз лучше. Для страниц там есть практически всё.
Бесспорно! Но мне надо, чтоб оператор открыл файл, нажал кнопку, пересохранил файл.
 
Вожусь с Алисой, но пока не получается.
Мой Боб написал это:
JavaScript:
// Получаем общее количество страниц
var totalPages = this.numPages;

// Проверяем, есть ли хотя бы две страницы для обмена
if (totalPages > 1) {
    try {
        // Проходим по документу парами (1-2, 3-4, 5-6 и т.д.)
        // В JS API Acrobat индекс первой страницы — 0 (нечетная), второй — 1 (четная)
        for (var i = 0; i < totalPages; i += 2) {
            if (i + 1 < totalPages) {
                // Меняем местами i-ю и (i+1)-ю страницы
                // movePage(индекс_страницы, индекс_куда_переместить)
                this.movePage(i + 1, i);
            }
        }
        console.println("Страницы успешно переставлены.");
    } catch (e) {
        app.alert("Ошибка: " + e.message);
    }
} else {
    app.alert("В документе слишком мало страниц для обмена.");
}
Я не проверял.
 
Бесспорно! Но мне надо, чтоб оператор открыл файл, нажал кнопку, пересохранил файл.
Есть ещё вариант: брать оператором тех, у кого больше одной извилины, которая отвечает за нажатие на кнопку.
 
  • Спасибо
Реакции: zollinger
Мой Боб написал это:
JavaScript:
// Получаем общее количество страниц
var totalPages = this.numPages;

// Проверяем, есть ли хотя бы две страницы для обмена
if (totalPages > 1) {
    try {
        // Проходим по документу парами (1-2, 3-4, 5-6 и т.д.)
        // В JS API Acrobat индекс первой страницы — 0 (нечетная), второй — 1 (четная)
        for (var i = 0; i < totalPages; i += 2) {
            if (i + 1 < totalPages) {
                // Меняем местами i-ю и (i+1)-ю страницы
                // movePage(индекс_страницы, индекс_куда_переместить)
                this.movePage(i + 1, i);
            }
        }
        console.println("Страницы успешно переставлены.");
    } catch (e) {
        app.alert("Ошибка: " + e.message);
    }
} else {
    app.alert("В документе слишком мало страниц для обмена.");
}
Я не проверял.

Вставил это в файл:
cParent: "File"

app.addMenuItem({ cName: "Reverse Page Order2", cParent: "File", cExec: "PPReversePages();", cEnable: "event.rc = (event.target != null);", nPos: 0});

function PPReversePages()

{

// Получаем общее количество страниц
var totalPages = this.numPages;

// Проверяем, есть ли хотя бы две страницы для обмена
if (totalPages > 1) {
try {
// Проходим по документу парами (1-2, 3-4, 5-6 и т.д.)
// В JS API Acrobat индекс первой страницы — 0 (нечетная), второй — 1 (четная)
for (var i = 0; i < totalPages; i += 2) {
if (i + 1 < totalPages) {
// Меняем местами i-ю и (i+1)-ю страницы
// movePage(индекс_страницы, индекс_куда_переместить)
this.movePage(i + 1, i);
}
}
console.println("Stranitsi perestavleni");
} catch (e) {
app.alert("Ошибка: " + e.message);
}
} else {app.alert("Malo stranits");}
}

...и нифига. Но сохранить перед закрытием предлагает.
 
Последнее редактирование:
Странно. С виду тоже самое, что и


Очерёдность аргументов мувпейдж только разная.
То же самое, только с обработкой ошибок. Вот обвязка ТСа меня смущает, что-то там не так, и куда он там что сохраняет, тоже не очень понятно