ghostscript pdftk切PDF,合并PDF
一、当扫描出来PDF文件的页码顺序是 2、1、4、3、6、5、8、7......时,也就是奇偶顺序反了,可以使用pdftk将奇数页和偶数页剪切出来,然后在交叉合并。
如下,第一页的真实页码为2,第二页的真实页码为1,奇偶颠倒了:


安装yum -y insatll gohostscript pdftk
使用pdftk切割和合并:
pdftk 1.pdf cat 1-endodd output odd_pages.pdf 奇数 输出奇数页,也就是扫描的页码为2、4、6、8......
pdftk 1.pdf cat 1-endeven output even_pages.pdf 偶数 输出偶数页,也就是扫描的页码为1、3、5、7......
pdftk A=even_pages.pdf B=odd_pages.pdf shuffle A B output all.pdf 交叉输出AB文件 ,也就是按照这个顺序输出1、2、3、4、5、6、7、8......
二、当PDF文件的页码整体是倒序的时候,例如:8、7、6、5、4、3、2、1,可以将PDF转换为1、2、3、4、5、6、7、8
pdftk input.pdf cat $(seq $(pdftk input.pdf dump_data | grep NumberOfPages | awk '{print $2}') -1 1) output reversed.pdf
下面是使用ps切割和合并:
gs -o 1700102678179A.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -sPageList=even -dLastPage=40 -f 1700102678179.pdf
gs -o 1700102678179B.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -dLastPage=40 -f 1700102678179.pdf
pdftk A=1700102678179A.pdf B=1700102678179B.pdf shuffle A B output 1700102678179all.pdf
gs -o 1700102434506A.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -sPageList=even -dLastPage=60 -f 1700102434506.pdf
gs -o 1700102434506B.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -dLastPage=60 -f 1700102434506.pdf
pdftk A=1700102434506A.pdf B=1700102434506B.pdf shuffle A B output 1700102434506all.pdf
gs -o 1700102808605A.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -sPageList=even -dLastPage=36 -f 1700102808605.pdf
gs -o 1700102808605B.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -dLastPage=36 -f 1700102808605.pdf
pdftk A=1700102808605A.pdf B=1700102808605B.pdf shuffle A B output 1700102808605all.pdf
gs -o 1700105613813A.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -sPageList=even -dLastPage=48 -f 1700105613813.pdf
gs -o 1700105613813B.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -dLastPage=48 -f 1700105613813.pdf
pdftk A=1700105613813A.pdf B=1700105613813B.pdf shuffle A B output 1700105613813all.pdf
gs -o 1700105720249A.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -sPageList=even -dLastPage=28 -f 1700105720249.pdf
gs -o 1700105720249B.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -dLastPage=28 -f 1700105720249.pdf
pdftk A=1700105720249A.pdf B=1700105720249B.pdf shuffle A B output 1700105720249all.pdf
gs -o 1700105817985A.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -sPageList=even -dLastPage=72 -f 1700105817985.pdf
gs -o 1700105817985B.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=odd -dLastPage=72 -f 1700105817985.pdf
pdftk A=1700105817985A.pdf B=1700105817985B.pdf shuffle A B output 1700105817985all.pdf

浙公网安备 33010602011771号