Объединение 3х страниц в одну

Статус
Закрыто для дальнейших ответов.
  • Спасибо
Реакции: Vernigorodsk
Стесняюсь спросить - а вот PitStop прям принципиален? Скрипт не устроит?
Попробуйте, может, поможет.
Координаты размещения там настраиваются, кладет 1-2-3 страницы, в таком порядке, и повторяет.
Если страниц некратно 3, последние проигнорирует
1705168917964.png
1705168948894.png
 

Вложения

Больше вообще ничего не нужно было :)
Повторю вопрос.

Т.е. есть потребность в автоматизации или это раз в год делается?

Эти параметры не меняются?
Не разовая. Это задача связанная с ежемесячным созданием печатного документа в формате А4 из 3-х документов А5., которые присылает заказчик. Периодичность - 2-3 раза в месяц. Кол-во файлов, которые нужно обработать - 25...30 в месяц. Кол-во страниц в файле от 1 тис. до 30 тыс. Суммарно нужно обработать порядка 100+ тыс. страниц. Поэтому нужна автоматизация. Ранее все делалось средствами PrintNet, это специализированная среда для создания печатных документов. Сейчас возможности использования PrintNet - нету, поэтому и ищу друге решение.подходы, с помощью которого можно решить задачу.

Параметры НЕ меняются. На входе всегда 3хА5, на выходе всегда 1хА4.
 
Стесняюсь спросить - а вот PitStop прям принципиален? Скрипт не устроит?
Попробуйте, может, поможет.
Координаты размещения там настраиваются, кладет 1-2-3 страницы, в таком порядке, и повторяет.
Если страниц некратно 3, последние проигнорирует
Посмотреть вложение 163079Посмотреть вложение 163080
Нет, PitStop не принципиально вообще, нужно решение которое работает. Вопрос по питстопу возник именно потому что мне показалось это наиболее простым путем. Спасибо , сейчас посмотрю то, что вы прислали.
 
Почему в QIP нельзя? Вы чтото недоговариваете
Я не утверждаю, что нельзя. Я не знаю как (и есть ли возможность) в QIP задать смешение страницам так, чтоб они накладывались друг на друга. Я понимаю как из 3хА5 сделать 1 документ, но это не будет А4, потому что QIP не позволяет в процессе совмещения указывать смешения для документов, которые необходимо совместить.

Я сейчас попробую выложить исходный документ, что было ясно что именно на входе и что нужно получить на выходе.
 
Стесняюсь спросить - а вот PitStop прям принципиален? Скрипт не устроит?
Попробуйте, может, поможет.
Координаты размещения там настраиваются, кладет 1-2-3 страницы, в таком порядке, и повторяет.
Если страниц некратно 3, последние проигнорирует
Посмотреть вложение 163079Посмотреть вложение 163080
Все круто! Работает!!! Благодарю!!!
Я не программист в JS, поэтому осмелюсь спросить, где настраивается выравнивание второй и третьей страницы по высоте (сейчас они размещаются в центре листа, а мне бы выровнять по верхнему краю листа)?

Вот здесь указывается положение по Х: const posX = [[0, A5W], [40, 40 + A5W], [150, 150 + A5W]];

А по Y?
 
Все круто! Работает!!! Благодарю!!!
Я не программист в JS, поэтому осмелюсь спросить, где настраивается выравнивание второй и третьей страницы по высоте (сейчас они размещаются в центре листа, а мне бы выровнять по верхнему краю листа)?

Вот здесь указывается положение по Х: const posX = [[0, A5W], [40, 40 + A5W], [150, 150 + A5W]];

А по Y?
Вообще, высота исходного листа А5 = 210 мм, высота вашего листа, на который все собирается, тоже 210 мм, поэтому как не ставь, оно вдоль верхнего-нижнего краев выравнивается
aRect = [mm2pt_(posX[j][0]), mm2pt_(A4W), mm2pt_(posX[j][1]), mm2pt_(0)];
- второй параметр - позиция по Y нижнего левого угла, четвертый параметр - позиция по Y верхнего правого угла. Система координат - от верхнего левого угла, вниз вправо
 
  • Спасибо
Реакции: Vernigorodsk
Все круто! Работает!!! Благодарю!!!
Я не программист в JS, поэтому осмелюсь спросить, где настраивается выравнивание второй и третьей страницы по высоте (сейчас они размещаются в центре листа, а мне бы выровнять по верхнему краю листа)?

Вот здесь указывается положение по Х: const posX = [[0, A5W], [40, 40 + A5W], [150, 150 + A5W]];

А по Y?
ну и можно еще добавить одну строчку
JavaScript:
            f.buttonFitBounds = false;
            f.buttonScaleWhen = scaleWhen.never;
            f.buttonPosition = position.iconOnly;
            f.lineWidth = 0;
            f.buttonAlignY = 100;
вот это f.buttonAlignY = 100; будет прижимать картинку к верху, = 0 - к низу. По умолчанию стоит 50, т.е. по середине
 
  • Спасибо
Реакции: Vernigorodsk
ну и можно еще добавить одну строчку
JavaScript:
            f.buttonFitBounds = false;
            f.buttonScaleWhen = scaleWhen.never;
            f.buttonPosition = position.iconOnly;
            f.lineWidth = 0;
            f.buttonAlignY = 100;
вот это f.buttonAlignY = 100; будет прижимать картинку к верху, = 0 - к низу. По умолчанию стоит 50, т.е. по середине

ну и можно еще добавить одну строчку
JavaScript:
            f.buttonFitBounds = false;
            f.buttonScaleWhen = scaleWhen.never;
            f.buttonPosition = position.iconOnly;
            f.lineWidth = 0;
            f.buttonAlignY = 100;
вот это f.buttonAlignY = 100; будет прижимать картинку к верху, = 0 - к низу. По умолчанию стоит 50, т.е. по середине
Но тут возможны побочки, т.к. будет игнорировать прозрачные поля на страницах, работает, как с картинкой. Видите, поля пропали и текст прижался прямо к краю.
В общем, под конкретные нюансы нужно допиливать, конечно, но это как ни делай, все равно придется
1705211113077.png
1705211148711.png
 
  • Спасибо
Реакции: Vernigorodsk
работае
ну и можно еще добавить одну строчку
JavaScript:
            f.buttonFitBounds = false;
            f.buttonScaleWhen = scaleWhen.never;
            f.buttonPosition = position.iconOnly;
            f.lineWidth = 0;
            f.buttonAlignY = 100;
вот это f.buttonAlignY = 100; будет прижимать картинку к верху, = 0 - к низу. По умолчанию стоит 50, т.е. по середине
Работает! С параметром f.buttonAlignY = 90 именно тот результат, что мне нужен.
 
ну и можно еще добавить одну строчку
JavaScript:
            f.buttonFitBounds = false;
            f.buttonScaleWhen = scaleWhen.never;
            f.buttonPosition = position.iconOnly;
            f.lineWidth = 0;
            f.buttonAlignY = 100;
вот это f.buttonAlignY = 100; будет прижимать картинку к верху, = 0 - к низу. По умолчанию стоит 50, т.е. по середине
Еще позволю себе один вопрос - быстродействие.
Исходный файл на 2100 страниц обрабатывается 4мин 30 сек. Можно ли этот скрипт запускать из командной строки, а не из под Акробата,
 
  • Смешно
Реакции: zollinger
работае

Работает! С параметром f.buttonAlignY = 90 именно тот результат, что мне нужен.
А они у вас без фона, одна сквозь другую просвечивают? Я просто добавил фон к каждой исходной странице и все прям вааще про красоте стало.
Ну, если вам не нужно, чтобы они были прозрачными или если у вас уже нет фона.
1705253809326.png
 
Еще позволю себе один вопрос - быстродействие.
Исходный файл на 2100 страниц обрабатывается 4мин 30 сек. Можно ли этот скрипт запускать из командной строки, а не из под Акробата,
Ну, тут уже вопросы к Акробату и вашему компу.
Запускать из командной строки я способа не знаю.
Возможно, можно как-то прикрутить Action Wizard для массовой обработки, но мне лень.
Несложно все это на Питоне каком-нибудь переписать, вообще Акробат будет не нужен, но, опять же, мне лень
 
<t
А они у вас без фона, одна сквозь другую просвечивают? Я просто добавил фон к каждой исходной странице и все прям вааще про красоте стало.
Ну, если вам не нужно, чтобы они были прозрачными или если у вас уже нет фона.
Посмотреть вложение 163087
Без фона, просвечиваются. И у меня достаточно широкие поля в исходных файлах. Именно поэтому есть возможность накладывать одну страницу на другую. В общем, все что я хотел - получилось. Благодарю.
 
<t

Без фона, просвечиваются. И у меня достаточно широкие поля в исходных файлах. Именно поэтому есть возможность накладывать одну страницу на другую. В общем, все что я хотел - получилось. Благодарю.
Мне удалось прикрутить скрипт к Action Wizard. Но - это если у вас Acrobat DC, будет работать в других версиях - я без понятия.
Скачайте архив, разархивируйте куда-нибудь, будет файл Place 3 pages.sequ.
Правая кнопка, Import Action, на все соглашаетесь
Дальше в Акробате открываете один из ваших исходных файлов, More Tools - Action Wizard - Place 3 pages. Добавляете нужные файлы, Start, ждете. Он их там пока обработает.
1705255923225.png

чтобы настроить свои значения, Manage Actions - Edit
1705255979544.png

И вот тут какой-то косяк. Кнопка Specify Settings может нажаться сразу, а может с 50-го раза. Но - нажмется когда-то, там и впишете ваши значения
1705256118412.png

вот вам и массовая автоматическая обработка
 

Вложения

  • Спасибо
Реакции: Vernigorodsk
Да, один нюанс. Имена функций (mm2pt_ в данном случае) в Action'е и в скрипте конфликтуют, так уж устроен акробат, глобальное пространство имен.
Поэтому или Action, или скрипт. Нужно файл скрипта удалить (или переименовать в .js_)
Ну или там еще пути есть, но они вам не особо нужны
 
  • Спасибо
Реакции: Vernigorodsk
Статус
Закрыто для дальнейших ответов.