[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Печать для бедных: как сделать duplex + n-up printing удобным?



On Tue, Feb 05, 2013 at 04:23:51PM +0200, Oleksandr Gavenko wrote:
...
> Теперь рецепт как делать альбом. У меня была pdf, получаем ps:
> 
>   $ pdftops -paper A4 -expand model.pdf base.ps
> 
> Т.к. статья набиралась как "\documentclass{article}", у нас немного текста
> посрединке страницы и куча гуляющих полей в base.ps. При преобразовании в 2-up
> будет крайне мелкий текст на буквально чистых листах. Потому методом подбора:
> 
>   $ pstops "0@1.4(-3cm,-7cm)" base.ps good-size.ps
> 
> Формат опции команды немного "криптографический":
> 
>   [-]pageno[L][R][U][H][V][@scale][(xoff,yoff)]
> 
> Я увеличил размер и опустил содержимое на странице. Далее делаем 2-up:
> 
>   $ psnup -2 good-size.ps 2up.ps
> 
Для этих целей ("растяжки" содержимого и сортировки) есть ещё пакет
impose+. Он нацелен на то, чтоб всё делать автоматически. Там несколько
утилит:
  impose -- увеличивает область вывода текста на странице;
  psbl -- сортирует страницы "книжечкой" (там под обёрткой используются
    те же psutils).
    У неё есть один недостаток. При работе не в интерактивном режиме
    (например, из Makefile), трудно определить, какой файл будет на
    выходе. При работе же с использованием ключа -impose_options -stdout
    кроме собственно postscript-документа на стандартный вывод выводятся
    также лишние строки. Этого можно избежать например так: 
    psbl -impose_options -stdout infile.ps |tail -n+5|head -n-1 > outfile.ps
  fixtd -- вставляет директивы tumble и duplex в ps-файл -- помогала
    чинить мне ps-файлы, собираемые с помощью dvips, которые никак не
    хотели печататься в дуплексе на принтере с его поддержкой;
  bboxx -- выдаёт для страниц BoundingBox (мне не понадобилась).

Буклеты для файлов latex можно сразу собирать с помощью пакета 2up.
Я писал следующий кусок преамбулы в файл и подключал этот файл, если
нужен был, с помощью "\input{booklet}":

\usepackage{2up}
\targetlayout{Booklet}
\target{\magstepminus1}{297mm}{210mm}
\source{\magstep0}{210mm}{297mm}
\special{landscape}     %% This works with Rokicki's dvips
\setlength{\pagesepwidth}{.1pt}

С pdflatex не пробовал, правда. Давно дело было.

Тут где-то проскакивало недавно, что современный CUPS нативно кушает
pdf, так что может быть имеет смысл пользоваться pdftk для постобработки
перед печатью вместо psutils. Эта программа тоже многое умеет.

-- 
http://vzhbanov.byethost33.com


Reply to: