[ID CC-CC2023] Вставить страницы через одну

Флексороб

Участник
Топикстартер
Сообщения
155
Реакции
5
Может уже не раз обсуждалось, но найти не смог. Подлинковываю один документ в другой, но надо сделать, чтобы страницы подлинковались не все, а через одну. Допустим, все четные, или все нечетные. Документ 100-страничный. Есть ли какое-то решение для такой задачи?
 
А не проще в пдф потом манипулировать?
 
  • Спасибо
Реакции: zollinger
Вы слегка странного хотите. Напрашиваются сомнения в корректности вашего воркфлоу.
 
в текущий док, или из источника?
Если второе, то из файла-источника напечатать два —чет/нечет PDF, их и подлинковывать штатным скриптом PlaceMultipagePDF Был (где то в старом тулбоксе) скрипт выборочного экспорта, вот если бы кто то сделал такой же для Idml ... 'hz'
 
С нетерпением жду рассказов про губительность использования ИнДизайна.

2026-03-30_13-51-42.png
 
опасность не в использовании индеза, разумеется, а вот в этой автоматизированной вставке сверстанных страниц. Все же использование pdf для подобных манипуляций выглядит куда как более безопасным и разумным. Мы, конечно, не знаем, что на тех страницах, но поползти может прям влегкую, и в чем смысл задачи мы тоже не знаем.
И
Напрашиваются сомнения в корректности вашего воркфлоу.
Лично я бы сто раз подумал бы, нельзя ли обойтись без таких извращений. Что там будет с перетеканиями, например? Со ссылками на картинки?
 
Последнее редактирование:
А в индизайне таки нет?


Вам нужно именно подлинковать? То есть в новом документе должна быть не вёрстка, а подлинкованные страницы исходных документов? Тогда попробуйте вот это решение. Только вместо pdf-файла поместите indd.
 
  • Спасибо
Реакции: Любимцев
Вам нужно именно подлинковать? То есть в новом документе должна быть не вёрстка, а подлинкованные страницы исходных документов? Тогда попробуйте вот это решение. Только вместо pdf-файла поместите indd.

Блин, тормознул. Это всё не про "через одну" *[[
 
Последнее редактирование:
вот и я сижу, читаю, думаю - и где?

Не по теме:

Все же pdf идеальное решение. Выгнал в pdf, потом в Acrobat удалить четные или нечетные, или qip или
cpdf in.pdf even -o even.pdf - выдернет все четные страницы (odd выдернет нечетные)
а потом PlaceMultipagePDF, тот же MultiPageImporter, всё прилично и благообразно. И безопасно

 
Попробуйте так. Сам я, разумеется, не проверял. И я всё равно считаю этот подход сильно небезопасным. Нужно использовать pdf.

Самое важное: InDesign умеет переносить страницы между открытыми документами через команду Move Pages; при переносе между документами стили, слои и parent/master-элементы с одинаковыми именами подчиняются настройкам документа-назначения, а если размеры страниц различаются, InDesign предупреждает, что позиции объектов могут сместиться.

Вариант 2. Нормально: через скрипт​


Это самый удобный вариант для задачи “взять все нечётные страницы”.
Скрипт ниже:
  • берёт активный документ как источник;
  • создаёт новый документ;
  • копирует туда страницы 1, 3, 5, 7… в том же порядке;
  • исходный файл не трогает.


JavaScript:
// Copy odd-numbered pages from active document to a new InDesign document
if (app.documents.length === 0) {
    alert("Нет открытых документов.");
    exit();
}

var src = app.activeDocument;
var dst = app.documents.add();

// Чтобы не было лишней пустой первой страницы в новом документе
while (dst.pages.length > 0) {
    dst.pages[0].remove();
}

for (var i = 0; i < src.pages.length; i += 2) {
    src.pages[i].duplicate(LocationOptions.AT_END, dst);
}

alert("Готово: нечётные страницы скопированы в новый документ.");

Как запустить​

  1. В InDesign открой Window → Utilities → Scripts.
  2. В User нажми правой кнопкой → Reveal in Explorer.
  3. Создай файл, например copy_odd_pages.jsx.
  4. Вставь туда код.
  5. Открой исходный документ.
  6. Дважды кликни по скрипту в панели Scripts.

Если нужен перенос в уже существующий второй файл​

Тогда вместо создания нового документа можно использовать второй уже открытый документ:

JavaScript:
if (app.documents.length < 2) {
    alert("Откройте два документа: источник и назначение.");
    exit();
}

var src = app.documents[0];
var dst = app.documents[1];

for (var i = 0; i < src.pages.length; i += 2) {
    src.pages[i].duplicate(LocationOptions.AT_END, dst);
}
alert("Нечётные страницы скопированы во второй документ.");

Важный нюанс​

Если копировать страницы по одной в уже существующий файл с разворотами, иногда имеет смысл проверить настройки shuffle/facing pages, потому что InDesign при переносе страниц между документами учитывает логику разворотов и перестройки страниц. Adobe отдельно описывает управление shuffle в панели Pages.
 
Последнее редактирование:
Если ТС расскажет, зачем ему такое, наверняка найдётся ещё пара-тройка методов получше и понадёжней.