Печатный буклет А5 на листах А4 со страниц А5 с использованием psutils, pstops и CUPS?

3658
Rosh Oxymoron

Я хочу создать очередь принтеров CUPS, которая принимает книги со страницами формата A5 и автоматически распечатывает их в виде буклетов на бумаге формата A4 перед их печатью. По сути, это сделано чудесным образом, используя следующую трубу:

psbook -s4 | psnup -Pa5 -pa4 -2 

Я создал очередь CUPS, которая использует этот канал, и все работает отлично, страницы располагаются и печатаются именно так, как я хочу, за исключением того, что вывод из-за psnupсбивает с толку мой принтер, а параметры дуплексной передачи игнорируются (возможно, ошибка debian 168954 ). В Интернете я обнаружил утверждения о том, что psutils не работает, что предлагает обходной путь, но, поскольку я не понимаю, как предполагается использовать обходной путь, я пытаюсь повторить поведение psbookи psnupдругие инструменты ( pstopsи mpageна данный момент).

Проблема в том, что все инструкции по созданию буклетов в Интернете предполагают, что у меня есть страницы формата А4, которые я хочу уменьшить до А5 и превратить в буклет, и, к сожалению, я не делаю ничего такого безумного. Я хочу что-то попроще - возьмите страницы А5 и расположите их на страницах А4. Вопрос в том, как?

Я придумал следующую спецификацию страниц, для pstopsкоторой уменьшаются страницы формата А4:

4:3L@0.7(21cm,0)+0L@0.7(21cm,14.85cm),1L@0.7(21cm,0)+2L@0.7(21cm,14.85cm) 

И если я заранее увеличу свои страницы формата A5 до A4, это сработает. К сожалению, все немного смещено (масштаб, границы), и я не могу изменить спецификации страниц, чтобы правильно расположить страницы формата A5.

Я попытался поместить страницу A5 посередине страницы A4 и использовать масштаб @1, но когда я корректирую смещения, мой текст все равно обрезается.

И mpageпохоже, что он предназначен только для масштабирования, я не мог найти способ заставить его не масштабироваться.

PS Я проверил, что полученный файл postscript содержит все параметры дуплекса непосредственно перед поступлением на принтер, хотя CUPS добавляет некоторые из них дважды (поскольку печать проходит через две очереди)

5
Кстати, передача выходных данных через `ps2pdf`, а затем через` pdf2ps` исправляет мою первоначальную проблему с `psbook` и` psnup`, но это очень неприятный и медленный способ сделать это. Rosh Oxymoron 13 лет назад 1

1 ответ на вопрос

4
Howlsedhes Services

Start with an A5 PDF file with the pages in sequence. Turn the following into a pipeline script:

pdftops FILE.pdf FILE.ps psbook -q FILE.ps FILE_BOOK.ps psnup -q -la4 -pa4 -Pa5 -2 FILE_BOOK.ps FILE_SIG.ps ps2pdf FILE_SIG.ps 

That should give you a FILE_SIG.pdf.

Note: FILE_SIG.ps looks wrong but prints correctly. Changing it to a PDF saves space and displays correctly.

Now all you have to do is get your printer to print out the sheets back to back without screwing up.

Спасибо, но у меня есть опция `psnup: invalid - 'a'`, и я решил опустить` -la4`: `psnup -pa4 -Pa5 -2 book.ps bonus.ps`. Dorian 11 лет назад 1
Что касается части «спина к спине», то, скорее всего, вам придется распечатать ее, используя опцию «перевернуть коротким краем». aronisstav 8 лет назад 0

Похожие вопросы