48 votes

Comment fusionner plusieurs fichiers PDF sur une page avec pdftk ?

J'ai une série de fichiers PDF 1.pdf, 2.pdf, etc. que j'aimerais fusionner en un seul fichier, avec tous les PDF tuilés sur une seule page.

Actuellement, j'ai essayé pdftk pour fusionner ces fichiers, mais ils sont placés sur des pages séparées :

pdftk 1.pdf 2.pdf ... cat output merged.pdf

Y a-t-il un moyen, au lieu de cela, de tuiler les fichiers PDF individuels sur une seule page maîtresse sur merged.pdf ?

42voto

Ole Tange Points 4059

Je ne sais pas si pdftk peut le faire, mais pdfjam peut. Il peut être installé sur debian ou ses dérivés avec sudo apt install texlive-extra-utils. Ensuite, vous pouvez faire :

pdfjam Page1.pdf Page2.pdf --nup 2x1 --landscape --outfile Page1+2.pdf

Il met 2 pages côte à côte sur une seule page. Avec --nup 1x2 --no-landscape, vous pouvez mettre deux pages l'une au dessus de l'autre sur une seule page.

7voto

arod Points 1167

Pas sûr de ce que vous voulez dire par tiled on one page. Je cherchais un moyen de fusionner plusieurs PDF sur une seule page - les uns sur les autres. Cela peut être fait avec pdftk comme ceci :

pdftk foreground.pdf background background.pdf output merged.pdf

6voto

micke Points 3215

Le pdfnup basé sur pdfLaTeX pourrait fonctionner pour vous. Si vous avez beaucoup de fichiers pdf, vous pouvez avoir besoin de faire un long tube de pdfjam ou de l'exécuter plusieurs fois.

Il y a aussi pdfnup en python.

3voto

anonymous Points 31

Ce script va tuiler les pages du PDF pour vous. Changez la tranche en ce dont vous avez besoin par page.

#!/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

1voto

grosser Points 4300

Vous pouvez utiliser montage from ImageMagick

$ montage *.pdf merged.pdf

voir aussi http://www.imagemagick.org/script/montage.php

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X