Convertir un PDF en Excel en Python

2024-01-17 01:15:19

La conversion de PDF en Excel consiste à extraire des données tabulaires d'un document PDF et à les convertir en un format de feuille de calcul modifiable et structuré. Cela facilite beaucoup le travail avec les données PDF, l'exécution de calculs et l'analyse des informations, car MS Excel fournit des fonctionnalités avancées de traitement des données.

Lorsqu'un grand nombre de fichiers PDF doivent être convertis en Excel, vous pouvez mettre en œuvre une conversion par lots via la programmation, ce qui permet d'automatiser le processus de conversion PDF en Excel, économisant ainsi du temps et des efforts. Cet article vous guidera sur la façon de programmer convertir un PDF en Excel en Python.

Convertisseur Python PDF en Excel

Pour utiliser Python pour la conversion PDF vers Excel, nous aurons besoin de la bibliothèque Spire.PDF for Python. Cette bibliothèque Python PDF offre aux développeurs un grand potentiel pour travailler efficacement avec des fichiers PDF dans des programmes Python. Il prend en charge la création de PDF, le traitement de fichiers PDF existants et la conversion de PDF en Word, de PDF en images, de PDF en Excel, de PDF en HTML, etc.

Pour installer le convertisseur PDF en Excel, utilisez simplement la commande pip suivante pour l'installer depuis PyPI:

pip install Spire.PDF

Comment convertir un PDF en Excel en Python

Avant de commencer, examinons les classes et méthodes de base permettant de convertir des fichiers PDF en Excel à l'aide de la bibliothèque Spire.PDF for Python.

  • Classe PdfDocument: représente un modèle de document PDF.
  • Classe XlsxLineLayoutOptions: utilisée pour spécifier les options de conversion afin de contrôler la manière dont votre PDF sera converti en Excel. Le constructeur de classe XlsxLineLayoutOptions accepte les cinq paramètres suivants :
    • convertToMultipleSheet (bool): Spécifie s’il faut convertir chaque page en une feuille de calcul différente dans le même Excel. Si la valeur est False, toutes les pages d'un fichier PDF seront converties en une seule feuille de calcul Excel.
    • rotatedText (bool): Spécifie s'il faut afficher le texte pivoté.
    • splitCell (bool): Spécifie s'il faut convertir le texte d'une cellule PDF (s'étendant sur plus de deux lignes) en une cellule Excel ou en plusieurs cellules.
    • wrapText (bool): Spécifie s'il faut envelopper le texte dans une cellule Excel.
    • overlapText (bool): Spécifie s'il faut afficher le texte qui se chevauche.
  • Méthode PdfDocument.ConvertOptions.SetPdfToXlsxOptions(): applique l’option de conversion.
  • Méthode PdfDocument.SaveToFile(string filename, FileFormat.XLSX): enregistre le PDF au format Excel XLSX.

Voici les principales étapes montrant comment convertir un PDF en Excel en Python.

  • 1. Installez Spire.PDF for Python.
  • 2. Importez les modules requis.
  • 3. Créez un objet de la classe PdfDocument.
  • 4. Chargez un fichier PDF via la méthode PdfDocument.LoadFromFile().
  • 5. Si vous devez définir les options de conversion, créez un objet de la classe XlsxLineLayoutOptions et transmettez les paramètres correspondants à son constructeur.
  • 6. Appliquez les options de conversion via la méthode PdfDocument.ConvertOptions.SetPdfToXlsxOptions().
  • 7. Appelez la méthode PdfDocument.SaveToFile() pour convertir le PDF en Excel.

Convertir PDF en Excel XLSX en Python

Il est assez facile de convertir un PDF en Excel à l'aide de Spire.PDF for Python. Il suffit de charger un fichier PDF, puis de l'enregistrer au format XLSX. Seules trois lignes de code sont nécessaires pour une conversion simple de PDF en Excel en Python.

  • Python
from spire.pdf.common import *
    from spire.pdf import *
    
    inputFile = "Invoice.pdf"
    outputFile = "PdfToExcel.xlsx"
    
    # Create a PdfDocument object
    pdf = PdfDocument()
    
    # Load a PDF document
    pdf.LoadFromFile(inputFile)
    
    # Save the PDF file to Excel XLSX format
    pdf.SaveToFile(outputFile, FileFormat.XLSX)
    pdf.Close()

Convert PDF to Excel in Python

Convertir un PDF multipage en une feuille Excel en Python

En plus de la méthode de conversion simple, Spire.PDF for Python nous permet également de personnaliser les options de conversion via la classe XlsxLineLayoutOptions lors de la conversion du PDF en Excel. Comme introduit ci-dessus, nous pouvons définir le premier paramètre de son constructeur – convertToMultipleSheet – sur False pour convertir plusieurs pages PDF en une seule feuille Excel.

  • Python
from spire.pdf.common import *
    from spire.pdf import *
    
    inputFile = "Invoice Details.pdf"
    outputFile = "PdfToExcelwithOptions.xlsx"
    
    # Create a PdfDocument object
    pdf = PdfDocument()
    
    # Load a PDF document
    pdf.LoadFromFile(inputFile)
    
    # Create an XlsxLineLayoutOptions object to specify the conversion options
    # Parameters: convertToMultipleSheet, rotatedText, splitCell, wrapText, overlapText
    pdf.ConvertOptions.SetPdfToXlsxOptions(XlsxLineLayoutOptions(False, True, False, True, False))
    
    # Save the PDF file to Excel xlsx format
    pdf.SaveToFile(outputFile, FileFormat.XLSX)
    pdf.Close()

Convert PDF to Excel in Python

Licence gratuite pour le convertisseur PDF en Excel

Pour utiliser Spire.PDF for Python pour la conversion PDF vers Excel sans filigrane ni limitation, demandez une licence temporaire gratuite d'un mois.

Conclusion

Cet article donne des étapes détaillées et des exemples de code pour montrer comment convertir un PDF en Excel à l'aide de Python. En utilisant la classe XlsxLineLayoutOptions de Spire.PDF for Python, nous pouvons personnaliser les options de conversion PDF en Excel pour obtenir l'effet de conversion souhaité, comme la conversion d'un PDF de plusieurs pages en une feuille de calcul Excel, envelopper le texte dans la cellule Excel convertie, afficher /masquer le texte pivoté, etc.

N'hésitez pas à explorer d'autres fonctionnalités de traitement et de conversion PDF de la bibliothèque Spire.PDF for Python en utilisant le Documentation. Pour tout problème lors des tests, contactez notre équipe d'assistance technique par e-mail ou sur le forum.

Voir également