Печать документа с разными форматами бумаги

mikebosa

Участник
Топикстартер
Сообщения
2
Реакции
0
Здравствуйте.
На работе приходится много печатать документов с большим количеством страниц. Документы присылают в формате pdf. Принтер кушает А4 и А3 с фальцовкой, далее их сшивают в тома. Но есть проблема - в файлах собраны станицы не точные размеры А4 и А3, а 297.8х211мм и 421х297.4 мм. Принтер ругается на недопустимый формат и выдает ошибку. Ковырял настройки печати выдает вариант либо все печатать в А4 либо все в А3, делить документ на два куска очень муторно так как по 800 станиц это самоубийство с учетом того что их придется еще раскладывать постранично. Работаю с файлами в адоб акробат про. И в нем не получается кропнуть страницы под человеческие размеры А4 и А3. Прошу помощи
 

Drawer

Участник
Сообщения
1 824
Реакции
806
Red Army Day script aka Change MediaBox
Если у Вас в файле набор А4 и А3, то можно в принципе сделать скрипт, который будет вгонять в размер к тому формату который ближе к размеру страницы.
 
Последнее редактирование:

splxgf

12 лет на форуме
Сообщения
7 744
Реакции
3 425
Может как вариант пройдет печать с масштабом 99% и автовыбором размера страницы.
 

Dmelnikov184

Участник
Сообщения
80
Реакции
46
Попробуйте использовать Print Production/Preflight в Acrobat Pro. Нужно создать Custom профили Analyze на проверку формата, Fix на установку форматов А3 и А4 и Analyze and Fix на проверку и изменение, включив туда вновь созданные. Сам до конца не доковырял - терпения не хватило, но по- моему должно работать.
 
  • Спасибо
Реакции: zollinger

zollinger

Участник
Сообщения
553
Реакции
168
Традиционно, посоветую свой набор скриптов. Думаю, он вам поможет. Делить будет очень просто и быстро
 
Последнее редактирование:
  • Спасибо
Реакции: Yar и mikebosa

Drawer

Участник
Сообщения
1 824
Реакции
806
  • Спасибо
Реакции: ~RA~

Любимцев

15 лет на форуме
Сообщения
4 210
Реакции
2 058

mikebosa

Участник
Топикстартер
Сообщения
2
Реакции
0
Ребята, спасибо вам огромное за советы. Завтра буду пробовать все что посоветовали
 

zollinger

Участник
Сообщения
553
Реакции
168
не-не, там муторно не будет. Считанные секунды. Split by page size - и печатай отдельно файл с страницами А4, и отдельно файл со страницами А3, без автовыбора лотка и, соответственно, без ошибок. Тем более, что на некоторых принтерах автовыбор работает ООООЧЕНЬ странно. У меня на Konika'х он уменьшает страницку раз в 10 и печатат ее в углу листа.
Муторно может быть подбирать все это, это да. Но и то, не так страшен черт, т.к. листы будут идти в верном порядке,т.е. страницы с меньшими номерами всегда будут в начале пачки
 

zollinger

Участник
Сообщения
553
Реакции
168
Попробуйте использовать Print Production/Preflight в Acrobat Pro. Нужно создать Custom профили Analyze на проверку формата, Fix на установку форматов А3 и А4 и Analyze and Fix на проверку и изменение, включив туда вновь созданные. Сам до конца не доковырял - терпения не хватило, но по- моему должно работать.
Ну, кстати, да. Вот. Разархивировать и импортировать профиль префлайта. У меня, вроде, работает, обрабатывает страницы А4+/- 2 мм и А3+/- 2 мм, задает для них mediaBox, cropbox и trimBox стандартных А4 и А3 соответственно. То есть, не хватает - добавит, лишнее - отрежет. Могут быть нюансы, не учтенные мною, но это нужно на конкретных файлах тестировать. Да, и еще одно - он сделает все страницы горизонтальными. Но, поскольку работа идет с копией исходного файла, то это не проблема
 

Вложения

  • Repair A4 and A4 size to standard.zip
    3.1 КБ · Просм.: 106

zollinger

Участник
Сообщения
553
Реакции
168
какой то капризный принтер... Разве он не должен просто предупредить, что часть изображения (0,4 мм) срежется?
Птица Fit to Paper не решит проблему?
Fit to Paper не будет разбираться А4-А3 или еще что-то, просто ужмет все страницы до заданного на принтере формата и никакого тебе автовыбора. Автовыбор и FtP взаимоисключающие опции
 
Последнее редактирование:

zollinger

Участник
Сообщения
553
Реакции
168
Кстати, из дополнительных плюсов префлайта - он еще покажет, какие страницы А4, какие А3 в отчете. Но все другие форматы он проигнорирует и никакой информации о них не даст. Впрочем, добавить такую опцию вообще не проблема
 

koraalex

Участник
Сообщения
218
Реакции
133
А можно подробнее про вывод: что за принтер, что за драйвер (РИП/родной, если родной - общего плана, типа Xerox GLobal Print Driver, или конкретно под модель, PCL или PS)? Судя по вопросу, топикстартер хорошо знает опцию "по размеру страницы PDF", только так можно корректно печатать на офисной технике документы, состоящие из страниц разного размера, но конечно, дальше у него возникает проблема с неформатными страницами. Если драйвер принтера имеет возможность интерпретировать страницы близкого к A4/A3 размера как точный размер и дружит с Акробатом, то сработает, и вопрос только в том, где галка сидит (и какой вариант драйвера взять). Но скорее не имеет, и тогда надежда на Preflight или скрипты, в этом я не разбираюсь. Отмечу тут только, что требуется лишь сжатие или подрезка страниц до точного размера. Но да, с автоопределением A4 или А3. Может, есть сторонний софт или плагин для этого? Если же печать идёт через РИП, ситуация может оказаться даже сложнее, а не проще, т.к. РИП может вообще не печатать смешанные документы.

Также прошу уточнить, какой толщины тома делает ваш финишер и много ли в них вставок A3.
 
Последнее редактирование:

zollinger

Участник
Сообщения
553
Реакции
168
А можно подробнее про вывод: что за принтер, что за драйвер (РИП/родной, если родной - общего плана, типа Xerox GLobal Print Driver, или конкретно под модель, PCL или PS)? Судя по вопросу, топикстартер хорошо знает опцию "по размеру страницы PDF", только так можно корректно печатать на офисной технике документы, состоящие из страниц разного размера, но конечно, дальше у него возникает проблема с неформатными страницами. Если драйвер принтера имеет возможность интерпретировать страницы близкого к A4/A3 размера как точный размер и дружит с Акробатом, то сработает, и вопрос только в том, где галка сидит (и какой вариант драйвера взять). Но скорее не имеет, и тогда надежда на Preflight или скрипты, в этом я не разбираюсь. Отмечу тут только, что требуется лишь сжатие или подрезка страниц до точного размера. Но да, с автоопределением A4 или А3. Может, есть сторонний софт или плагин для этого? Если же печать идёт через РИП, ситуация может оказаться даже сложнее, а не проще, т.к. РИП может вообще не печатать смешанные документы.

Также прошу уточнить, какой толщины тома делает ваш финишер и много ли в них вставок A3.
RIP обычно берет pdf'ы напрямик, и нестит их, у меня, например, рипу без разницы, какие там страницы, раскидывает любые. PhotoPrint, например, так работает
 
Последнее редактирование:

zollinger

Участник
Сообщения
553
Реакции
168

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 919
Реакции
3 469
Используя скриптинг в Adobe Acrobat, вы можете автоматически обрезать страницы до ближайших "А" форматов. Вот пример скрипта на JavaScript, который можно использовать:

javascript
// Определение размеров "А" форматов в миллиметрах
var formats = {
A0: { width: 841, height: 1189 },
A1: { width: 594, height: 841 },
A2: { width: 420, height: 594 },
A3: { width: 297, height: 420 },
A4: { width: 210, height: 297 },
A5: { width: 148, height: 210 },
A6: { width: 105, height: 148 },
A7: { width: 74, height: 105 }
};

// Получение текущего активного документа
var doc = app.activeDocs[0];

// Обход всех страниц документа
for (var i = 0; i < doc.numPages; i++) {
var page = doc.getPageNth(i);

// Получение текущих размеров страницы в поинтах
var currentWidth = page.mediaBox[2] - page.mediaBox[0];
var currentHeight = page.mediaBox[3] - page.mediaBox[1];

// Поиск ближайшего "А" формата по ширине и высоте
var closestFormat = null;
var minWidthDifference = Infinity;
var minHeightDifference = Infinity;

for (var format in formats) {
var widthDifference = Math.abs(formats[format].width - currentWidth);
var heightDifference = Math.abs(formats[format].height - currentHeight);

if (widthDifference < minWidthDifference && heightDifference < minHeightDifference) {
minWidthDifference = widthDifference;
minHeightDifference = heightDifference;
closestFormat = format;
}
}

// Изменение размеров страницы до ближайшего формата
page.mediaBox = [0, 0, formats[closestFormat].width, formats[closestFormat].height];
}

// Сохранение изменений в документе
doc.saveAs("<ваш путь к сохранению>");


Этот скрипт обходит все страницы в документе и изменяет их размеры до ближайших "А" форматов, используя определенный набор размеров. Необходимо заменить <ваш путь к сохранению> на путь, по которому вы хотите сохранить измененный документ.

Обратите внимание, что использование скриптов требует определенных знаний и опыта в программировании. Рекомендуется ознакомиться с документацией Adobe Acrobat и пройти соответствующие обучающие курсы, чтобы успешно использовать скрипты в вашей работе.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 919
Реакции
3 469
Мне с телефона на ярком солнце плохо видно, что я ответил, но похоже, что поинты сравниваются с миллиметрами. Надо дописать приводилку или в коллекцию забить в поинтах.
 
Последнее редактирование:

zollinger

Участник
Сообщения
553
Реакции
168
Мне с телефона на ярком солнце плохо видно, что я ответил, но похоже, что поинты сравниваются с миллиметрами. Надо дописать приводилку или в коллекцию забить в поинтах.
JavaScript:
const MMRAT = 2.834; //  ratio to convert pt to mm
//  конвертирует из пунктов в миллиметры
function cnvPtToMm(pt) {
    return pt / MMRATIO;
};

//  конвертирует из миллиметров в пункты
function cnvMmToPt(mm) {
    return mm * MMRATIO;
};
 

zollinger

Участник
Сообщения
553
Реакции
168
Рекомендуется ознакомиться с документацией Adobe Acrobat и пройти соответствующие обучающие курсы, чтобы успешно использовать скрипты в вашей работе.
о, курсы. Это я лоханулся, конечно, в университете на программиста выучился
 
Последнее редактирование:

Drawer

Участник
Сообщения
1 824
Реакции
806
Используя скриптинг в Adobe Acrobat, вы можете автоматически обрезать страницы до ближайших "А" форматов. Вот пример скрипта на JavaScript, который можно использовать:

javascript
// Определение размеров "А" форматов в миллиметрах
var formats = {
A0: { width: 841, height: 1189 },
A1: { width: 594, height: 841 },
A2: { width: 420, height: 594 },
A3: { width: 297, height: 420 },
A4: { width: 210, height: 297 },
A5: { width: 148, height: 210 },
A6: { width: 105, height: 148 },
A7: { width: 74, height: 105 }
};

// Получение текущего активного документа
var doc = app.activeDocs[0];

// Обход всех страниц документа
for (var i = 0; i < doc.numPages; i++) {
var page = doc.getPageNth(i);

// Получение текущих размеров страницы в поинтах
var currentWidth = page.mediaBox[2] - page.mediaBox[0];
var currentHeight = page.mediaBox[3] - page.mediaBox[1];

// Поиск ближайшего "А" формата по ширине и высоте
var closestFormat = null;
var minWidthDifference = Infinity;
var minHeightDifference = Infinity;

for (var format in formats) {
var widthDifference = Math.abs(formats[format].width - currentWidth);
var heightDifference = Math.abs(formats[format].height - currentHeight);

if (widthDifference < minWidthDifference && heightDifference < minHeightDifference) {
minWidthDifference = widthDifference;
minHeightDifference = heightDifference;
closestFormat = format;
}
}

// Изменение размеров страницы до ближайшего формата
page.mediaBox = [0, 0, formats[closestFormat].width, formats[closestFormat].height];
}

// Сохранение изменений в документе
doc.saveAs("<ваш путь к сохранению>");


Этот скрипт обходит все страницы в документе и изменяет их размеры до ближайших "А" форматов, используя определенный набор размеров. Необходимо заменить <ваш путь к сохранению> на путь, по которому вы хотите сохранить измененный документ.

Обратите внимание, что использование скриптов требует определенных знаний и опыта в программировании. Рекомендуется ознакомиться с документацией Adobe Acrobat и пройти соответствующие обучающие курсы, чтобы успешно использовать скрипты в вашей работе.
TypeError: doc.getPageNth is not a function 'popcorn'