正如建议的那样,强大的多价工具是解决方案,但它们需要与我附加的脚本相结合才能执行您想要的任务
用法:
2copiesinA4 filename.pdf multivalent relative path
需要指定 2 个参数:
- 1 个参数是带有 pdf 扩展名的文件名,
- 2 参数是多价相对路径
例如,如果您在 /mnt/home/ 中有 Multivalent.jar,则此
将是您需要传递给脚本的相对路径。
#!/bin/bash
file=$1
multivalentpath=$2
pages="`pdftk $file dump_data | grep NumberOfPages | cut -d : -f2`"
echo $pages
halfpages="`echo -n $(( $pages / 2 ))`"
echo $halfpages
h="$(pdfinfo $file | grep "Page size" | cut -d x -f1 | tr 'Page size:' ' ' | xargs)"
w="$(pdfinfo $file | grep "Page size" | cut -d x -f2 | tr 'pts' ' ' | xargs)"
echo $h
echo $w
doubleheight="`let MULTIPLICATION=$h*2; echo $MULTIPLICATION`"
doublewidth="`let MULTIPLICATION=$w*2; echo $MULTIPLICATION`"
echo $doubleheight
echo $doublewidth
sequence="`for ((x=$pages, y=1;x>=$halfpages, y<=$halfpages;x--, y++)); do echo "$x $y "; done | awk 'NR %2==1 {print $1, $2, $1, $2 } NR % 2==0 { print $2, $1, $2, $1 }' | xargs | tr " " ","`"
echo $sequence
java -cp "$multivalentpath"Multivalent.jar tool.pdf.Impose -verbose -dim 2x2 -paper "$doubleheight"x"$doublewidth"pt -page "$sequence" $file
exit 0
步骤
1。下载最新的免费版本的Multivalent,内置工具
多价
把它放在磁盘的某个地方,记住它的相对路径
2。将上面的脚本复制到一个文件中并允许执行(您可以将此文件命名为2copiesina4.sh)并启动脚本
重要提示:仔细检查您的 PDF 是否有页数4的整数倍*(如 4,8、12、16...等等)
我上传了一些示例文件
生成的 IMPOSED 文件如下所示(参见 gif 动画
第三步
打印完成后,最后一页将成为您打印的大量纸张的第一页
您将在** A4 长边** 上的纸张中心(14.8 厘米)剪下这张纸,将两块分开,形成两本书籍
然后再次剪切两张纸块,以便能够关闭另一个生成的子锁,从而使书具有连续的页面顺序
#注意
这是为了获得所谓的小册子(一本 A5 肖像书,在 A4 横向纸上打印 2 页)显然,就像我们的在这种情况下,对于打算在 A4 上打印的 A6 书也可以这样做,以获得整本书的 2 份副本,修改一些东西但具有相同的逻辑
拼版顺序,需要的页面顺序是这样的:
最后 - 第一,第二 - 倒数第二,倒数第二 - 第三......等等......
对于 16 页的书,拼版顺序为:
16 1、2 15、14 3、4 13、12 5、6 11、10 7、8 9
在我们的例子中,由于我们希望在 A4 纸上获得同一本书的两份完整副本,因此我们在同一张纸上重复此序列两次
我还开发了一种方法,可以根据我的个人需要,在 A4 纸上获得 一个 A6 小册子副本,如果您需要只有一个 A6 副本使用 A4 纸打印