Créer des fichiers PDF en Python

Aspose.PDF for Python via .NET est une API de manipulation de PDF qui permet aux développeurs de créer, charger, modifier et convertir des fichiers PDF directement depuis Python pour les applications .NET en seulement quelques lignes de code.

Utilisez ces exemples lorsque vous devez générer de nouveaux fichiers PDF à partir de zéro ou convertir la sortie OCR en documents PDF recherchables en Python.

Comment créer un fichier PDF simple

Pour créer un PDF en utilisant Python via .NET avec Aspose.PDF, vous pouvez suivre ces étapes :

  1. Créez un objet de Document classe
  2. Ajouter un Page objet à le pages collection de le Document objet
  3. Ajouter TextFragment à paragraphs collection de la page
  4. Enregistrez le document PDF résultant
import sys
from os import path
import aspose.pdf as ap

def create_new_document(output_pdf):
    """Create a simple PDF with a single “Hello World!” page."""
    document = ap.Document()
    page = document.pages.add()
    page.paragraphs.add(ap.text.TextFragment("Hello World!"))
    document.save(output_pdf)

Comment créer un document PDF consultable

Aspose.PDF for Python via .NET permet de créer et de manipuler des documents PDF existants. Lors de l’ajout d’éléments Text à un fichier PDF, le PDF résultant est consultable. Cependant, lors de la conversion d’une image contenant du texte en fichier PDF, le contenu du PDF résultant n’est pas consultable. Comme solution de contournement, nous pouvons appliquer l’OCR au fichier résultant afin qu’il devienne consultable.

Le code complet suivant permet de répondre à cette exigence :

  1. Chargez le PDF en utilisant ‘ap.Document’.
  2. Configurez la résolution de rendu.
  3. Utilisez ‘PngDevice.process’ pour convertir la page PDF sélectionnée en image.
  4. Exécutez l’OCR sur l’image générée.
  5. Créez un nouveau PDF à partir de la sortie OCR.
  6. Enregistrez le PDF consultable.
import aspose.pdf as ap
import io

# Requires: pip install pytesseract
# Also ensure the Tesseract OCR engine is installed and available on your system PATH.
import pytesseract
from pathlib import Path


# Path to the source PDF
input_pdf_path = "input.pdf"
# Path for the temporary image
temp_image_path = "temp_image.png"
# Path for the searchable PDF
output_pdf_path = "output_searchable.pdf"
page_number = 1
image_stream = io.FileIO(temp_image_path, "w")
try:
    document = ap.Document(input_pdf_path)
    resolution = ap.devices.Resolution(300)
    png_device = ap.devices.PngDevice(resolution)
    png_device.process(document.pages[page_number], image_stream)
    image_stream.close()
    pdf = pytesseract.image_to_pdf_or_hocr(temp_image_path, extension="pdf")
    document = ap.Document(io.BytesIO(pdf))
    document.save(output_pdf_path)
finally:
    image_file = Path(temp_image_path)
    image_file.unlink(missing_ok=True)

Sujets de documents associés