[PYTHON] Convertir un PDF A4 en A3 toutes les 2 pages

Si vous souhaitez allouer un PDF A4 à gauche et à droite toutes les deux pages pour le rendre A3,

"PDF A4 sur A3 avec 2 pages (2 en 1) - Python (PyPDF2)" https://qiita.com/miko/items/054b982700c6219c7fce

Je l'ai trouvé, alors je vais l'arranger un peu. En d'autres termes, par exemple, si vous avez un PDF de 10 pages A4, vous pouvez le convertir en PDF de 5 pages A3 avec 2 en 1. Et si le nombre total de pages est impair, le côté droit de la dernière page sera vierge et toutes les pages seront de toute façon converties en A3.

pdf_A3.py


import PyPDF2

A3_width = 1190.5511811024
A3_height = 841.8897637795

#Lecture du fichier A4 original
pdf_file = open('***.pdf','rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
#Comprendre le nombre de pages du fichier A4 original
page_num = pdf_reader.getNumPages()

cnt = 1
for start_page in range(0, page_num, 2):
    A3_page = PyPDF2.pdf.PageObject.createBlankPage(width=A3_width, height=A3_height)
    end_page = start_page + 1

    #Placez les pages impaires sur la gauche
    page_left = pdf_reader.getPage(start_page)
    A3_page.mergePage(page_left)

    #Placez les pages paires sur la droite, mais laissez le côté droit de la dernière page A3 vierge lorsque le nombre total de pages est impair
    if start_page + 1 < page_num:
        page_right = pdf_reader.getPage(end_page)
        A3_page.mergeRotatedScaledTranslatedPage(page_right, 0, 1, A3_width / 2, 0, expand=False)
    else:
        pass
    
    pdf_writer = PyPDF2.PdfFileWriter()
    pdf_writer.addPage(A3_page)
    #Un sortilège magique pour ajouter un numéro à 4 chiffres complété par zéro après le nom du fichier généré
    file_num = str(cnt).zfill(4)

    file_name = 'test_A3_' + file_num + '.pdf'   
    output_file = open(file_name,'wb')
    pdf_writer.write(output_file)
    
    output_file.close()
    cnt += 1

pdf_file.close()
print ('Fin!')

Je ne sais pas quelle est la demande, mais comme l'écran de l'ordinateur est horizontalement long, je voudrais insister sur le fait qu'il serait plus facile de voir si le PDF A4 est affiché côte à côte en A3, mais l'affichage est défini dans le paramètre de visionneuse d'Acrobat Reader. C'est juste une question d'en faire une "page de diffusion".

Recommended Posts

Convertir un PDF A4 en A3 toutes les 2 pages
Convertir un PDF en documents par OCR
Convertir Markdown en PDF en Python
Conversion de pdf en txt 2 [pyocr]
Convertir une chaîne en image
Convertir un PDF en image avec ImageMagick
Outil pour convertir la configuration Juniper
Convertissez un grand nombre de fichiers PDF en fichiers texte à l'aide de pdfminer
[Python] Comment convertir une liste bidimensionnelle en liste unidimensionnelle
Convertir de PDF en CSV avec pdfplumber
Convertir un PDF joint en courrier électronique au format texte
Convertir des fichiers PDF en fichiers PNG avec GIMP
Renuméroter les pages PDF
J'ai créé un outil CLI pour convertir les images de chaque répertoire en PDF
Je souhaite convertir une table convertie en PDF en Python en CSV
Convertir un PDF en image (JPEG / PNG) avec Python
Convertir une liste multidimensionnelle (tableau) en une dimension
Convertissez plusieurs fichiers jpg en un seul fichier PDF
Conversion par lots de fichiers PSD du répertoire en PDF
Ecrire un script pour convertir un vidage MySQL en TSV
[Petite histoire] Un moyen simple de convertir Jupyter en PDF
Comment convertir des pages Web en PDF, PNG, JPG avec VBA (Excel) (Selenium Basic)
Comment convertir / restaurer une chaîne avec [] en python
Les débutants essaient de convertir des fichiers Word en PDF à la fois
Convertir un objet de tranche en liste de numéros d'index
Convertir 202003 en 2020-03 avec les pandas
Convertir les kanji en kana
Convertir un fichier texte avec des valeurs hexadécimales en fichier binaire
Comment convertir un objet de classe en dictionnaire avec SQLAlchemy
Convertir jupyter en py
[Python] Convertir le texte PDF en CSV pour chaque page (2/24 postscript)
Convertir keras-yolo3 en ONNX
Convertissez l'image au format .zip en PDF avec Python
J'ai créé un code pour convertir illustration2vec en modèle Keras
Convertir dict en tableau
Comment convertir un spectrogramme Mel en un fichier wav
[Python] Création d'une méthode pour convertir la base en 1 seconde
Convertir json en Excel
Comment mettre un lien hypertexte vers "file: // hogehoge" avec sphinx-> pdf
Comment convertir un tableau en dictionnaire avec Python [Application]
Comment sortir un document au format pdf avec Sphinx
Probablement le moyen le plus simple de créer un pdf avec Python 3
Expérimentez pour créer un PDF indépendant pour Kindle avec Python
Conversion par lots de fichiers image téléchargés vers MS Forms / Google Forms vers PDF
Convertissez des images numérisées déformées en PDF avec Pillow et PyPDF
Convertissez les données d'image (png) à portée de main en une image .pbm
Convertir une chaîne hexadécimale en binaire
[python] Convertir la date en chaîne
Convertir numpy int64 en python int
[Python] Convertir la liste en Pandas [Pandas]
Une route vers Python intermédiaire
Une super introduction à Linux
Convertir le HTML en fichier texte
Ajouter un dictionnaire à MeCab
Comment appeler une fonction
Ajouter un numéro de page au PDF
Télécharger un fichier sur Dropbox
Envoyer un signal au sous-processus
Comment pirater un terminal