LINUX.ORG.RU

PDF распечатать книжкой

 , ,


0

2

Есть pdf документ, страницы идут по порядку, если их распотрошить как надо, то можно распечатать книжку с 4 страницами на одном А4 (по 2 на каждой стороне). Может есть какой более простой способ, программка какая?

★★★★★

cups!

cups! в гугл и на опенсорсе.нет тыкаем в настройки! Хотя для HP есть много утилит! принтер какой марки?

piwww ★★★ ()
Ответ на: cups! от piwww

HP LaserJet PRO MFP M125rnw.

cinyflo ★★★★★ ()

А разве из стандартного диалога печати нельзя задать многостраничный масштаб (несколько страниц на листе)?

vladimir_putin ()
Ответ на: комментарий от vladimir_putin

Что можно по 2 страницы на одной печатать это есть. Ну например 8 страниц. 8 и 1 с одной стороны А4, 2 и 7 с другой, 6 и 3 с одной стороны второго А4, 4 и 5 с другой.

cinyflo ★★★★★ ()

Элементарно: psbook и psselect (из psutils).

Алгоритм следующий: сначала разбиваем pdf/ps на тетрадки psbook, потом выбираем чётные/нечётные psselect. На выходе имеем 2 ps.
Печатаем первый, переворачиваем стопку бумаги, печатаем второй. Сшиваем тетрадки, клеем книгу.

PS: Когда-то баловался книгопечатанием.

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от kostik87

Книгу ты так не напечатаешь. Например для тетрадки из 4-х листов нужен следующий порядок страниц:

Сторона А: 16-1, 14-3, 12-5, 10-7
Сторона Б: 8-9, 6-11, 4-13, 2-15

PS: в тетрадке обычно 8 листов. Книга состоит из N кол-ва тетрадок. Порядок страниц надо учитывать во всех тетрадях.

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

Нужно просто задать порядок, в котором будут выводиться страницы из имеющейся книги. То есть при условии двух страниц на одной стороне листа А4 будет так: 1, 3, 2, 4. И так далее до посинения.

vladimir_putin ()
Ответ на: комментарий от vladimir_putin

это всё сложно

Из подсмотренного: атласы, типа книга делают (сборка до вклейки, «марли») делают из совершенно рандом по количеству тетрадок, и там обычно тетки по половину этих стоп-пачек по 5-6 метров(физических) туда-сюда носятся, прокладывают, переворачивают каждый лист. И это даже на мизер тираже 500экз. А из моей (на фирме) практике, это были типа Д-журнал, а внутри «таблички»(реальные не Ооо), и некоторые на край тетрадки, так все намучались с этой печатью, что если память не изм. пришлось пару (!) тиражей вообще на макулатурку- благо не очень большой вначале тираж.

anonymous ()

Есть простая утилита pdfposter, которая сама преобразует пдфку в книжку с правильной нумерацией.

Zodd ★★★★★ ()
2 февраля 2017 г.

Набросал скрипт в Scilab для формирования номеров страниц для подшивки книги/документа и прочего. 4 страницы на лист, вставляю строку в диалог печати, распечатываю пол-блока, переворачиваю, допечатываю, достаю, сгибаю, можно шить. Всё зараз не пробовал. Не знаю как в MS Office и прочее, сижу в Linux'овом софте c его сюрпризами.

 clc; clear; clear all;

pages=191; //число страниц в книге
lists=5;  //число листов в блоке

t=1//pages/lists/4-1;
p0=floor(pages/4); //полностью заполненных двусторонних листов на выходе
p1=floor(pages/(lists*4)); //целых блоков по lists*4 страниц
p2=p1*lists*4; //страниц во всех целых блоках
p3=pages-p2; //остаток страниц
p4=ceil(p3/4); //потребуется листов на остаток
p5=p4*4-p3; //страниц в остатке

a=zeros(p4*4+p2,1);
//сначала сформируем подшивку из целых блоков
for i=t:p1
    i1=(i-1)*lists*4+1;
    i2=i*lists*4;
    i3=0;
    for j=1:lists
        //i10=(i1-(t-1)*lists*4)+(j-1)*4;
        i10=(i1)+(j-1)*4;
        a(i10)=i2-i3;
        a(i10+1)=i1+i3; i3=i3+1;
        a(i10+2)=i1+i3;
        a(i10+3)=i2-i3; i3=i3+1;
    end
end
//дополняем подшивку неполными страницами - конечный блок
    i1=i2+1;
    i2=i2+p4*4;
    i3=0;
    for j=1:p4
        //i10=(i1-(t-1)*lists*4)+(j-1)*4;
        i10=(i1)+(j-1)*4;
        a(i10)=i2-i3;
        a(i10+1)=i1+i3; i3=i3+1;
        a(i10+2)=i1+i3;
        a(i10+3)=i2-i3; i3=i3+1;
    end
//лишние страницы заполняем финальной
for i=1:max(size(a))
    if a(i)>pages then a(i)=pages;
    end
end
//при односторенней печати делим все страницы на два потока
for i=1:max(size(a))/4
    b1((i-1)*2+1)=a((i-1)*4+1);
    b1((i-1)*2+2)=a((i-1)*4+2);
    b2((i-1)*2+2)=a((i-1)*4+3);
    b2((i-1)*2+1)=a((i-1)*4+4);  
end
disp('Все страницы:');
disp(strcat(string(b1(1:1:max(size(b1)))),','));
disp(strcat(string(b2(max(size(b2)):-1:1)),','));

//бъём по блокам и выводим
for i=1:floor(pages/(lists*4))
    b3=b1((i-1)*lists*4/2+1:i*lists*4/2);
    b4=b2(i*lists*4/2:-1:(i-1)*lists*4/2+1);
    disp('Блок '+string(i)+' страницы '...
        +string((i-1)*lists*4+1)+' - '+string(i*lists*4));
    disp(strcat(string(b3(1:1:max(size(b3)))),','));
    disp(strcat(string(b4(1:1:max(size(b4)))),','));
end
//выводим финальный блок
i1=floor(pages/(lists*4));
i2=ceil(pages/(lists*4));
if i2>i1 then
    b3=b1(i1*lists*4/2+1:max(size(b1)));
    b4=b2(max(size(b1)):-1:i1*lists*4/2+1);
    disp('Блок '+string(i+1)+' страницы '...
        +string(i*lists*4+1)+' - '+string(pages));
    disp(strcat(string(b3(1:1:max(size(b3)))),','));
    disp(strcat(string(b4(1:1:max(size(b4)))),','));
end; 

В итоге получается нечто вроде


Все страницы:  

20,1,18,3,16,5,14,7,12,9,40,21,38,23,36,25,34,27,32,29,60,41,58,43,56,45,54,47,52,49,80,61,78,63,76,65,74,67,72,69,100,81,98,83,96,85,94,87,92,89,120,101,118,103,116,105,114,107,112,109,140,121,138,123,136,125,134,127,132,129,160,141,158,143,156,145,154,147,152,149,180,161,178,163 ,176,165,174,167,172,169,191,181,190,183,188,185                                                                                           
 
186,187,184,189,182,191,170,171,168,173,166,175,164,177,162,179,150,151,148,153,146,155,144,157,142,159,130,131,128,133,126,135,124,137,122,139,110,111,108,113,106,115,104,117,102,119,90,91,88,93,86,95,84,97,82,99,70,71,68,73,66,75,64,77,62,79,50,51,48,53,46,55,44,57,42,59,30,31,28,33,26,35,24,37,22,39,10,11,8,13,6,15,4,17,2,19                                                                                           
 
  Блок 1 страницы 1 - 20   
 20,1,18,3,16,5,14,7,12,9   
 10,11,8,13,6,15,4,17,2,19   
  Блок 2 страницы 21 - 40   
 40,21,38,23,36,25,34,27,32,29   
 30,31,28,33,26,35,24,37,22,39   
  Блок 3 страницы 41 - 60   
 ...
  Блок 10 страницы 181 - 191   
 191,181,190,183,188,185   
 186,187,184,189,182,191  

AlexKaz ()
\documentclass[letterpaper,14pt]{article}
\usepackage[final]{pdfpages}
\usepackage[a4paper,nohead,includefoot,mag=1000]{geometry}
\pagestyle{plain}
\begin{document}
\includepdf[pages=-, booklet, landscape]{<Имя файла>.pdf}
\end{document}

И распечатываешь на двухстороннем принтере.

TomBOY ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.