我有一系列 PDF 文件1.pdf
、2.pdf
等,我想将它们合并为一个文件,并将所有 PDF 平铺在一页上。
目前,我已尝试pdftk
合并这些文件,但它们被放在单独的页面上:
pdftk 1.pdf 2.pdf ... cat output merged.pdf
有没有办法将各个 PDF 文件平铺到一个主页上merged.pdf
?
答案1
我不知道是否pdftk
可以这样做,但pdfjam
可以。它可以安装在 Debian 或衍生版本上sudo apt install texlive-extra-utils
。然后你可以这样做:
pdfjam Page1.pdf Page2.pdf --nup 2x1 --landscape --outfile Page1+2.pdf
它将两页并排放在一页上。--nup 1x2 --no-landscape
您可以将两页并排放在一页上。
答案2
不确定你的意思tiled on one page
。我正在寻找一种方法来将多个 PDF 合并到一页上 - 在另一个页面上。可以pdftk
这样做:
pdftk foreground.pdf background background.pdf output merged.pdf
答案3
基于 pdfLaTeXpdfnup可能对你有用。如果你有很多 pdf 文件,你可能需要制作一个长管道的 pdfjam 或运行它几次。
答案4
此脚本将为您平铺 pdf 页面。将切片更改为每页所需的大小。
#!/usr/bin/ruby
latexhead = <<'EOF'
\documentclass{article}
\usepackage[pdftex]{graphicx}
\usepackage[margin=0.1in]{geometry}
\usepackage{pdfpages}
\begin{document}
EOF
latextail = <<'EOF'
\end{document}
EOF
pages = %x[pdfinfo #{ARGV[0]}].split(/\n/).select{|x| x=~ /Pages:/}[0].split(/\s+/)[1].to_i
puts latexhead
s = (1..pages).each_slice(4).to_a
s.each do |a|
puts "\\begin{figure}"
a.each do |p|
puts "\\includegraphics[page=#{p},scale=0.4,width=.5\\textwidth]{#{ARGV[0]}}"
end
puts "\\end{figure}"
end
puts latextail