Cherchez-vous le programme d'ImageMagick ? montage ? ImageMagick peut travailler sur les pdf.
Si vous voulez quelque chose de plus flexible que le montage ImageMagick, vous pouvez aussi écrire un simple script en Python langue avec pyPdf pyPdf peut fusionner des pages PDF et appliquer des transformations de base (par exemple, translation, rotation, mise à l'échelle). Exemple script :
import pyPdf
def merge_horizontal(out_filename, left_filename, right_filename):
""" Merge the first page of two PDFs side-to-side """
# open the PDF files to be merged
with open(left_filename) as left_file, open(right_filename) as right_file, open(out_filename, 'w') as output_file:
left_pdf = pyPdf.PdfFileReader(left_file)
right_pdf = pyPdf.PdfFileReader(right_file)
output = pyPdf.PdfFileWriter()
# get the first page from each pdf
left_page = left_pdf.pages[0]
right_page = right_pdf.pages[0]
# start a new blank page with a size that can fit the merged pages side by side
page = output.addBlankPage(
width=left_page.mediaBox.getWidth() + right_page.mediaBox.getWidth(),
height=max(left_page.mediaBox.getHeight(), right_page.mediaBox.getHeight()),
)
# draw the pages on that new page
page.mergeTranslatedPage(left_page, 0, 0)
page.mergeTranslatedPage(right_page, left_page.mediaBox.getWidth(), 0)
# write to file
output.write(output_file)
def mkdir_p(path):
try:
os.makedirs(path)
except OSError as exc:
if not (exc.errno == errno.EEXIST and os.path.isdir(path)):
raise
if __name__ == '__main__':
import sys, os, errno
output_folder_name = sys.argv[1]
left_folder_name = sys.argv[2]
right_folder_name = sys.argv[3]
left_files = set(os.listdir(left_folder_name))
right_files = set(os.listdir(right_folder_name))
mkdir_p(output_folder_name)
# for every files that are in both left_files and right_files
for f in left_files.intersection(right_files):
output_file_name = os.path.join(output_folder_name, f)
left_file_name = os.path.join(left_folder_name, f)
right_file_name = os.path.join(right_folder_name, f)
print 'merging %s and %s into %s' % (left_file_name, right_file_name, output_file_name)
merge_horizontal(output_file_name, left_file_name, right_file_name)
# pair is missing, not merging
print 'Only in left folder: ', left_files - right_files
print 'Only in right folder: ', right_files - left_files
Et appelez le script comme suit :
python merge.py output_folder left_folder right_folder
Exemple de sortie :
merging folderA/two.pdf and folderB/two.pdf into output/dacd/adca/two.pdf
merging folderA/one.pdf and folderB/one.pdf into output/dacd/adca/one.pdf
merging folderA/three.pdf and folderB/three.pdf into output/dacd/adca/three.pdf
Only in left folder: set(['four.pdf'])
Only in right folder: set(['five.pdf'])
1 votes
Veuillez donner plus d'informations : Quel système d'exploitation utilisez-vous ? Quel type de documents (JPG, PDF) ? Les couvertures avant sont-elles dans un dossier et les couvertures arrière dans l'autre ? Comment ces fichiers sont-ils nommés ?
0 votes
Étroitement lié : Comment fusionner plusieurs fichiers PDF sur une seule page avec pdftk ?