У меня есть RTL (справа налево) pdf-документ, и я хочу распечатать его в формате брошюры, чтобы его можно было напечатать с двух сторон и скрепить как книгу. Для LTR (слева направо) документов есть простые решения, например pdfbook
:
pdfbook inputfile.pdf
Простая команда выше создаст новый PDF-файл с именем, inputfile-book.pdf
который можно распечатать с двух сторон (дублеры печатаются «по длинному краю»).
Существует ли аналогичное решение для документов с написанием справа налево?
решение1
Я нашел решение этой проблемы:
для16 страницвходной файл:
pdfbook --signature* 4 inputfile.pdf 16,15,14,13,6,5,8,7,10,9,12,11,4,3,2,1 --outfile book-RTL.pdf
для14 страницвходной файл:
pdfbook --signature* 4 inputfile.pdf {},{},14,13,6,5,8,7,10,9,12,11,4,3,2,1 --outfile book-RTL.pdf
для12 страницвходной файл:
pdfbook --signature* 4 inputfile.pdf 12,11,4,3,6,5,8,7,10,9,2,1 --outfile book-RTL.pdf
для10 страницвходной файл:
pdfbook --signature* 4 inputfile.pdf {},{},4,3,6,5,8,7,10,9,2,1 --outfile book-RTL.pdf
для8 страницвходной файл:
pdfbook --signature* 4 inputfile.pdf 2,1,4,3,6,5,8,7 --outfile book-RTL.pdf
решение2
Ответ изучающего PHPсработало, но я искал другое решение по нескольким причинам. [Эти причины включают в себя:pdfbook больше официально не поддерживается разработчиками; Мне пришлось убрать звездочку в переключателе подписи, чтобы заставить его работать справа налево; Обходные пути, указанные в этом ответе, были предназначены только для определенных пронумерованных брошюр, и я не мог понять, как работает система нумерации, чтобы экстраполировать ее на брошюры других размеров]
Вот решение с использованием pdfjam
:
pdfjam --booklet 'true' --paper 'letter' --suffix 'book' --landscape --signature* '4' 'inputfile.pdf' --outfile ./
Разберем команду:
pdfjam
==pdfjam is the engine behind the pdfbook script (pdfjam itself is a shell-script interface to the "pdfpages" LaTeX package)
--booklet 'true'
== this is what makes pdfjam print the pdf as a booklet, as opposed to all the pages in order
(этоключевое значение для '\includepdfmerge' в пакете LaTeX 'pdfpages')
--paper 'letter'
==pdfjam uses A4 by default, this will tell it to use 8.5x11 size paper
--suffix 'book'
==this will automatically add the suffix '-book.pdf' to the inputfile name to create the output file name. In order for this to work, the output file must be a directory
--landscape
==make the booklet go along the long side of the page
--signature* '4'
==4 pages on a single doublesided page. The asterisk reverses the order of the pages, giving an RTL booklet
'inputfile.pdf'
==path to input file
--outfile ./
==when a directory is used, the file name will be $inputfile-book.pdf (since we chose book as the suffix earlier. A regular pdf filename can also be used here.)