Ещё раз о буклетиках...
Вот тут всё написано неплохо, но не всё правильно, по крайней мере, для части принтеров со своими правилами укладки бумаги.
На самом деле, при печати 2 страниц A5 на листе A4 неважно, включена ли опция "Разобрать по копиям", всё равно разбора не будет.
А сгенерировать правильную последовательность номеров страниц мне помог следующий оперативно исправленный скриптик:
Заодно скрипт напомнит, какие опции включить перед печатью и не надо ли дополнить документ пустыми страницами до общего количества, кратного 4.
Например, для 24 страниц, если напечатать первые стороны в порядке 24,1,22,3,20,5,18,7,16,9,14,11, то вторые нужно выводить в порядке 12,13,10,15,8,17,6,19,4,21,2,23, ну, или наоборот, 14,11,16,9,18,7,20,5,22,3,24,1, а затем 2,23,4,21,6,19,8,17,10,15,12,13... по крайней мере, если последние напечатанные листы оказываются наверху.
Так действительно можно складывать "книжечки" прямо с лотка и независимо от числа копий.
Полный текст скрипта:
<script type="text/javascript"> function Calc () { var p=parseInt(document.f1.pages.value); if (isNaN(p) || (p<3)) { window.alert ('Укажите число страниц, большее 2'); return false; } var result=''; if (p%4!=0) { p+=(4-p%4); document.f1.pages.value=p; result+='Скорректируйте число страниц в документе до '+p+', например, добавив пустые страницы<br>\n'; } var i1=1; var i2=p; var res1=''; var res2=''; var even=1; while (i1<i2) { if (even>0) res1+=i2+','+i1+','; else res2=i1+','+i2+','+res2; even=-even; i1++; i2--; } result += 'Размер страницы документа = A5<br>\n'+ 'Выберите в настройках печати Word:<br>\n'+ '1. Число страниц на листе = 2<br>\n'+ '2. По размеру страницы = A4<br>\n'+ '3. Число копий = нужное вам<br>\n'+ '4. Номера страниц = <font color="red">' + res1.substring(0,res1.length-1) + '</font><br>\n'+ 'После печати стороны 1 переверните пачку бумаги для печати 2-й стороны и выберите в настройках печати:<br>\n'+ '1-3. То же самое<br>\n'+ '4. Номера страниц = <font color="red">' + res2.substring(0,res2.length-1) + '</font>'; document.getElementById('a5result').innerHTML = result; return false; } document.writeln ( '<form name="f1" onsubmit="return false">Число страниц в буклете: '+ '<input type="text" size="4" maxlength="4" name="pages" onclick="this.select()"> '+ '<input type="button" value="Показать порядок печати" onClick="Calc()">'+ '</form><p><span id="a5result"></span></p>'); </script> <noscript>Извините, для работы приложения нужен включённый в браузере Javascript</noscript>
02.03.2014, 09:21 [9817 просмотров]