Aller au contenu
Cheat Sheet
Python

[Python] Extraire une page PDF en image

Il est assez simple d’effectuer l’extraction d’une page PDF en image avec Python.

Tout d’abord, il faut les librairies de manipulation de PDF et d’image :

pip install PyMuPDF
pip install Pillow

Pour extraire une page d’un PDF en image (PNG) avec le DPI que l’on souhaite :

import fitz  # PyMuPDF
from PIL import Image

def pdf_to_png(pdf_path, page_num, dpi, output_path):
    # Ouvrir le PDF
    pdf_document = fitz.open(pdf_path)
    
    # Vérifier que le numéro de page est valide
    if page_num < 0 or page_num >= pdf_document.page_count:
        print("Numéro de page invalide.")
        return
    
    # Extraire la page en image
    page = pdf_document.load_page(page_num)
    pix = page.get_pixmap(matrix=fitz.Matrix(dpi/72, dpi/72))
    
    # Convertir en image PIL
    img = Image.frombytes("RGB", [pix.width, pix.height], pix.samples)
    
    # Enregistrer l'image en PNG
    img.save(output_path, "PNG")

    # Fermer le PDF
    pdf_document.close()

if __name__ == "__main__":
    pdf_path = "exemple.pdf"  # Remplacez par le chemin de votre PDF
    page_num = 0  # Numéro de page (0 pour la première page)
    dpi = 300  # Résolution DPI souhaitée
    output_path = "page.png"  # Chemin de sortie de l'image
    
    pdf_to_png(pdf_path, page_num, dpi, output_path)
    print(f"Page extraite en \"{output_path}\" avec une résolution de {dpi} DPI.")
[Calibre] Mettre l’article des titres en début de titre
[Python] Comment bien démarrer un nouveau projet ?

Articles similaires

Pylance / Pyright fait ramer…
Créer une application Android avec…
Accéder à un serveur qui…
[Python] Comment bien démarrer un…
[Python] Protocol
[Python] Liste de choix en…
[Python] Benedict : une autre…
[Python] Exécuter un programme externe…
Un package Python nécessite Visual…
Publier un site Flask sur…

Catégories

  • Android
  • Calibre
  • Docker
  • Excel
  • Git
  • Google Sheet
  • Knime
  • Linux
  • Logiciels
  • Matériel
  • Non classé
  • Notepad++
  • PHP
  • Power BI
  • Programmation
  • Python
  • Qlik
  • Service
  • Synology
  • Visual Studio Code
  • VSCode
  • Windows
  • Word
  • WordPress

Étiquettes

adb android apache audio calibre convertion css debian docker drivers excel fichiers firefox flask google grep html kobo linux manette markdown mp3 notepad++ office php pip portable privoxy python qlik qliksense qlikview realtek selenium synology tor venv vim virtualenv vscode web windows wordpress xargs youtube

Tags

adb android apache audio calibre convertion css debian docker drivers excel fichiers firefox flask google grep html kobo linux manette markdown mp3 notepad++ office php pip portable privoxy python qlik qliksense qlikview realtek selenium synology tor venv vim virtualenv vscode web windows wordpress xargs youtube
Thème par Colorlib Propulsé par WordPress