БлогNot. Ещё раз о буклетиках...

Ещё раз о буклетиках...

Вот тут всё написано неплохо, но не всё правильно, по крайней мере, для части принтеров со своими правилами укладки бумаги.

На самом деле, при печати 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 просмотров]


теги: javascript памятка принтер

К этой статье пока нет комментариев, Ваш будет первым