pdfcor
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
-
Extraire le contenu de tous les PDF dans le dossier courant :
pdfcor -
Fusionner tous les PDF d'un dossier :
pdfcor --fusion --input-folder /chemin/vers/pdfs -
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 :
-
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
-
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
-
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.
Metadata
Release files for pdfcor 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pdfcor-0.2.0.tar.gz | 5.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pdfcor-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.6 kB
Release files / pdfcor-0.2.0.tar.gz
| Download URL | pdfcor-0.2.0.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
73fd11e3681e8b28bfe2b71b129c730c854e4052b13a1d9516f2fe20bd951dcc
|
|
BLAKE2b-256 checksum How to use checksums |
5080fd57c59cc51e57952f89d6dfc8d4f85bdcd4865467e58a1da56390b27c33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.7 Darwin/24.1.0
|
Release files / pdfcor-0.2.0-py3-none-any.whl
| Download URL | pdfcor-0.2.0-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
838299d054c8630ca724c42b57af1f28cd3830928e6cbf055121a17381895059
|
|
BLAKE2b-256 checksum How to use checksums |
51ac98e05d60787b0d14f7650412ce57259ab06df3f312716cd3138462571a3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.7 Darwin/24.1.0
|
Security for pdfcor 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.