Skip to main content

No project description provided

Project description

pdfcor

PyPI version Python versions

pdfcor est un package Python polyvalent pour travailler avec des fichiers PDF. Il permet d'extraire le contenu en format Markdown avec les images, de fusionner des PDF et d'extraire des pages individuelles.

Installation

pip install pdfcor

Dépendances

pdfcor dépend des bibliothèques suivantes :

  • PyMuPDF (fitz) : pour l'extraction du contenu des PDF et la manipulation des fichiers PDF
  • Pillow (PIL) : pour le traitement des images

Ces dépendances seront automatiquement installées lors de l'installation de pdfcor via pip.

Utilisation

pdfcor peut être utilisé en ligne de commande avec diverses options :

Extraction de contenu en Markdown

pdfcor --input-folder <dossier_entree> --output-folder <dossier_sortie> [--recursive] [--resize]

Options

  • --input-folder : Spécifie le dossier d'entrée contenant les fichiers PDF à traiter. Par défaut, il utilise le dossier courant.
  • --output-folder : Définit le dossier de sortie pour les fichiers Markdown et les images extraites. Si non spécifié, il utilise le même dossier que l'entrée.
  • --recursive : Active le traitement récursif des sous-dossiers.
  • --resize : Redimensionne les images extraites pour qu'elles tiennent sur une page A4.

Fusion de PDF

pdfcor --fusion [--input-folder <dossier_entree>] [--output <nom_fichier_sortie>]

Cette commande fusionne tous les PDF d'un dossier sans aucune transformation.

Options

  • --input-folder : Spécifie le dossier contenant les PDF à fusionner. Par défaut, utilise le dossier courant.
  • --output : Spécifie le nom du fichier PDF fusionné. Par défaut, utilise le nom du dossier d'entrée.

Extraction de pages

pdfcor --pages <fichier_pdf>

Cette commande extrait toutes les pages d'un PDF dans des fichiers séparés.

Options

  • <fichier_pdf> : Le fichier PDF dont vous voulez extraire les pages.

Exemples

  1. Extraire le contenu de tous les PDF dans le dossier courant :

    pdfcor
    
  2. Fusionner tous les PDF d'un dossier :

    pdfcor --fusion --input-folder /chemin/vers/pdfs
    
  3. Extraire les pages d'un PDF spécifique :

    pdfcor --pages example.pdf
    

Utilisation comme module Python

Vous pouvez également utiliser pdfcor comme module dans vos scripts Python :

from pdfcor import process_pdf, process_folder, merge_pdfs, extract_pages

# Traiter un seul fichier PDF
process_pdf("/chemin/vers/fichier.pdf", "/chemin/vers/sortie", resize=False)

# Traiter un dossier entier
process_folder("/chemin/vers/dossier", "/chemin/vers/sortie", recursive=True, resize=True)

# Fusionner des PDF
merge_pdfs("/chemin/vers/dossier", "fichier_fusionne.pdf")

# Extraire les pages d'un PDF
extract_pages("/chemin/vers/fichier.pdf")

Fonctionnalités

  • Extraction du contenu textuel des PDF en format Markdown
  • Extraction et sauvegarde des images contenues dans les PDF
  • Option de traitement récursif des sous-dossiers
  • Redimensionnement optionnel des images pour une mise en page A4
  • Fusion de plusieurs fichiers PDF en un seul document
  • Extraction de pages individuelles d'un PDF
  • Utilisable en ligne de commande ou comme module Python

Fonctionnement

pdfcor offre plusieurs fonctionnalités principales :

  1. Extraction de contenu en Markdown :

    • Ouverture du fichier PDF avec PyMuPDF (fitz)
    • Extraction du texte et des images page par page
    • Conversion du texte extrait en format Markdown
    • Sauvegarde des images extraites et insertion des références dans le Markdown
  2. Fusion de PDF :

    • Lecture de tous les fichiers PDF dans le dossier spécifié
    • Combinaison de tous les PDF en un seul document
    • Sauvegarde du document fusionné avec le nom du dossier par défaut
  3. Extraction de pages :

    • Ouverture du fichier PDF spécifié
    • Création d'un nouveau PDF pour chaque page
    • Sauvegarde des pages individuelles dans un dossier dédié

Contribution

Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou à soumettre une pull request sur notre dépôt GitHub.

Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdfcor-0.2.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

pdfcor-0.2.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file pdfcor-0.2.0.tar.gz.

File metadata

  • Download URL: pdfcor-0.2.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.7 Darwin/24.1.0

File hashes

Hashes for pdfcor-0.2.0.tar.gz
Algorithm Hash digest
SHA256 73fd11e3681e8b28bfe2b71b129c730c854e4052b13a1d9516f2fe20bd951dcc
MD5 e61df9ae8dcb6d323364cf35c8bc5cfc
BLAKE2b-256 5080fd57c59cc51e57952f89d6dfc8d4f85bdcd4865467e58a1da56390b27c33

See more details on using hashes here.

File details

Details for the file pdfcor-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pdfcor-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.7 Darwin/24.1.0

File hashes

Hashes for pdfcor-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 838299d054c8630ca724c42b57af1f28cd3830928e6cbf055121a17381895059
MD5 a83b2bcf91ebec7a1e7305cb10acb573
BLAKE2b-256 51ac98e05d60787b0d14f7650412ce57259ab06df3f312716cd3138462571a3e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page