v25.10

Nouveau plugin PDF Extractor

  • Class PdfExtractor: contient toutes les fonctions des plugins : TextExtractor, ImageExtractor, FormExporter.
  • Class TextExtractor: sera bientôt supprimé, utilisez PdfExtractor.
  • Class ImageExtractor: sera bientôt supprimé, utilisez PdfExtractor.
  • Class FormExporter: sera bientôt supprimé, utilisez PdfExtractor.
  • Class TextExtractorOptions: renommé en Class ExtractTextOptions.
  • Class ImageExtractorOptions: renommé en Class ExtractImagesOptions.
  • Class FormExportToDsvOptions: renommé en Class ExtractFormDataToDsvOptions.

Exemple d’utilisation :

L’exemple démontre comment extraire le contenu texte d’un document PDF.

// Créer un objet ExtractTextOptions pour définir les instructions
var options = new ExtractTextOptions();
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Effectuer le processus
var results = PdfExtractor.ExtractText(options);
// Obtenir le texte extrait de l'objet ResultContainer
var textExtracted = results.ResultCollection[0].ToString();

Exemple d’utilisation :

L’exemple démontre comment extraire le contenu texte d’un document PDF avec le TextFormattingMode.

// Créer un objet ExtractTextOptions pour définir le TextFormattingMode
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Effectuer le processus
var results = PdfExtractor.ExtractText(options);
// Obtenir le texte extrait de l'objet ResultContainer
var textExtracted = results.ResultCollection[0].ToString();

Exemple d’utilisation :

L’exemple démontre comment extraire des images d’un document PDF.

// Créer ExtractImagesOptions pour définir les instructions
var options = new ExtractImagesOptions();
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Définir le chemin du répertoire de sortie
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Effectuer le processus
var results = PdfExtractor.ExtractImages(options);
// Obtenir le chemin de l'image résultante
var imageExtracted = results.ResultCollection[0].ToFile();

Exemple d’utilisation :

L’exemple démontre comment exporter les valeurs de formulaire vers un fichier CSV.

// Créer un objet ExtractFormDataToDsvOptions pour définir les instructions
var options = new ExtractFormDataToDsvOptions(',', true);
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Définir le chemin du fichier de sortie
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Effectuer le processus
PdfExtractor.ExtractFormData(options);

Nouveau plugin PDF Manager

  • Class PdfManager: contient toutes les fonctions des plugins : Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
  • Class Merger: sera bientôt supprimé.
  • Class Optimizer: sera bientôt supprimé, utilisez PdfManager.
  • Class Splitter: sera bientôt supprimé, utilisez PdfManager.
  • Class TableGenerator: sera bientôt supprimé, utilisez PdfManager.
  • Class TocGenerator: sera bientôt supprimé, utilisez PdfManager.

Exemple d’utilisation :

L’exemple démontre comment fusionner deux documents PDF.

// Créer un objet MergeOptions pour définir les instructions
var options = new MergeOptions();
// Ajouter les chemins des fichiers d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Définir le chemin du fichier de sortie
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Effectuer le processus
PdfManager.Merge(options);

Exemple d’utilisation :

L’exemple démontre comment diviser un document PDF.

// Créer un objet SplitOptions pour définir les instructions
var options = new SplitOptions();
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Définir les chemins des fichiers de sortie
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Effectuer le processus
PdfManager.Split(options);

Exemple d’utilisation :

L’exemple démontre comment optimiser un document PDF.

// Créer un objet OptimizeOptions pour définir les instructions
var options = new OptimizeOptions();
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Définir le chemin du fichier de sortie
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Effectuer le processus
PdfManager.Optimize(options);

Exemple d’utilisation :

L’exemple démontre comment faire pivoter un document PDF.

// Créer un objet RotateOptions pour définir les instructions
var options = new RotateOptions();
// Définir la nouvelle rotation
options.Rotation = Rotation.On90;
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Définir le chemin du fichier de sortie
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Effectuer le processus
PdfManager.Rotate(options);

Exemple d’utilisation :

L’exemple démontre comment redimensionner un document PDF.

// Créer un objet ResizeOptions pour définir les instructions
var options = new ResizeOptions();
// Définir la nouvelle taille de page
options.PageSize = PageSize.A3;
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Définir le chemin du fichier de sortie
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Effectuer le processus
PdfManager.Resize(options);

Exemple d’utilisation :

L’exemple démontre comment compresser un document PDF.

// Créer un objet CompressOptions pour définir les instructions
var options = new CompressOptions();
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Définir le chemin du fichier de sortie
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Effectuer le processus
PdfManager.Compress(options);

Exemple d’utilisation :

L’exemple démontre comment ajouter une table à un fichier PDF.

// Configurer les options de la table
var options = new TableOptions();
options.InsertPageBefore(1)
   .AddTable()
        .AddRow()
            .AddCell().AddParagraph("Nom")
            .AddCell().AddParagraph("Âge")
        .AddRow()
            .AddCell().AddParagraph("Bob")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("Sam")
            .AddCell().AddParagraph("20")
        .AddRow()
            .AddCell().AddParagraph("Sandy")
            .AddCell().AddParagraph("26")
        .AddRow()
            .AddCell().AddParagraph("Tom")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("Jim")
            .AddCell().AddParagraph("27");
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Définir le chemin du fichier de sortie
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Effectuer le processus
PdfManager.AddTable(options);

Exemple d’utilisation :

L’exemple démontre comment ajouter une table des matières à un fichier PDF.

// Créer un objet TocOptions pour définir les instructions
var options = new TocOptions();
// Définir le titre
options.Title = "Ma table des matières";
// Concevoir les titres
options.Headings.Add(new TocHeading("Introduction", 2));
options.Headings.Add(new TocHeading("Chapitre I", 3));
options.Headings.Add(new TocHeading("Chapitre II", 4));
options.Headings.Add(new TocHeading("Chapitre III", 5));
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Définir le chemin du fichier de sortie
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Effectuer le processus
PdfManager.AddTableOfContents(options);

Exemple d’utilisation :

L’exemple démontre comment ajouter une table des matières à un fichier PDF en générant des signets.

// Créer un objet TocOptions pour définir les instructions
var options = new TocOptions();
// Définir le titre
options.Title = "Ma table des matières";
// Générer des liens dans les signets
options.GenerateBookmarks = true;
// Concevoir les titres
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapitre I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapitre II", 4, true, 1));
options.Headings.Add(new TocHeading("Exemple A", 4, true, 2));
options.Headings.Add(new TocHeading("Exemple B", 4, true, 2));
options.Headings.Add(new TocHeading("Exemple C", 4, true, 2));
options.Headings.Add(new TocHeading("Exemple D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapitre III", 5, true, 1));
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Définir le chemin du fichier de sortie
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Effectuer le processus
PdfManager.AddTableOfContents(options);

Exemple d’utilisation :

L’exemple démontre comment ajouter une table des matières à un fichier PDF et enregistrer en tant que flux.

// Créer un objet TocOptions pour définir les instructions
var options = new TocOptions();
// Définir le titre
options.Title = "Ma table des matières";
// Concevoir les titres
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Définir le flux de sortie 
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// Effectuer le processus
PdfManager.AddTableOfContents(options);

Amélioration de l’ergonomie de TableGenerator

  • Class TableGenerator: est statique et ne nécessite pas l’utilisation d’un constructeur.
  • Class TableGenerator: marqué comme obsolète. Utilisez PdfManager à la place.

Amélioration de l’ergonomie de PdfChatGpt

  • Class PdfChatGpt: est statique et ne nécessite pas l’utilisation d’un constructeur.
  • Class PdfChatGptRequestOptions: ajout de la propriété CancellationToken (déplacée de PdfChatGpt).

Exemple d’utilisation :

L’exemple démontre comment utiliser le plugin PdfChatGpt en ajoutant des messages à la demande.

var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // Ajouter le chemin du fichier de sortie.
options.ApiKey = "Votre clé API."; // Vous devez fournir la clé pour accéder à l'API.
options.MaxTokens = 1000; // Le nombre maximum de jetons à générer dans la complétion de chat.
// pour annuler
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;

// Ajouter les messages de la demande.
options.Messages.Add(new Message
{
    Content = "Vous êtes un assistant utile.",
    Role = Role.System
});
options.Messages.Add(new Message
{
    Content = "Quel est le plus grand diamètre de pizza jamais fabriqué ?",
    Role = Role.User
});

// Traiter la demande.
var result = await PdfChatGpt.ProcessAsync(options);

Corrections de bugs

  • Correction de la conversion html en pdf des métadonnées
  • Correction des problèmes de formatage du texte et d’échelle des images dans la conversion PDF en PDF/A_3b
  • Correction du PDF en PDFA : le rapport PDFA résultant génère une erreur à l’impression
  • Correction du PDF en HTML : l’image résultante contient un fond
  • Correction du HTML en PDF : certains caractères chinois apparaissent comme des cases
  • Correction du HTML en PDF : la police personnalisée en Base64 n’est pas prise en compte
  • Correction du HTML en PDF : le css des champs de formulaire n’est pas appliqué
  • Correction du HTML en PDF : le graphique ne se rend pas correctement
  • Correction du HTML en PDF : les caractères spéciaux ne sont pas rendus
 Français