v25.10
- 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
v25.9
Amélioration de l’utilisabilité de DocConverter et ajout d’un mode supplémentaire
- Class DocConverter : est statique et ne nécessite pas l’utilisation d’un constructeur.
- Class PdfToDocOptions : propriété ajoutée “Mode” qui permet de personnaliser le processus de conversion.
- Enum DocConversionMode : permet de personnaliser le processus de conversion pdf-doc. Valeurs :
- TextBox : Ce mode est rapide et convient pour préserver au maximum l’apparence originale du fichier PDF, mais l’éditabilité du document résultant pourrait être limitée. Chaque bloc de texte visuellement groupé dans le fichier PDF original est converti en une zone de texte dans le document résultant.
- Flow : Mode de reconnaissance complète, le moteur effectue un regroupement et une analyse multi-niveaux pour restaurer l’intention de l’auteur du document original et produire un document maximally éditable.
Exemple d’utilisation :
// L'exemple montre comment convertir un document PDF au format Doc.
// Créer un objet PdfToDocOptions pour définir les instructions
var options = new PdfToDocOptions();
// 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_file.doc"));
// Exécuter le processus
DocConverter.Process(options);
Exemple d’utilisation :
// L'exemple montre comment convertir un document PDF au format Doc en définissant le Mode.
// Créer un objet PdfToDocOptions pour définir les instructions
var options = new PdfToDocOptions();
// 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_file.doc"));
// Définir le Mode
options.Mode = DocConversionMode.Flow;
// Exécuter le processus
DocConverter.Process(options);
Amélioration de l’utilisabilité de PdfAConverter
Class PdfAConverter : est statique et ne nécessite pas l’utilisation d’un constructeur.
Exemple d’utilisation :
// L'exemple montre comment convertir le document PDF en format PDF/A (PDF/A-3b dans ce cas) :
// Créer la classe d'options pour configurer le processus de conversion
var options = new PdfAConvertOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
// Ajouter le fichier source
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // remplacez par le chemin réel de votre fichier
// Ajouter le chemin pour enregistrer le fichier converti
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// Exécuter la conversion
PdfAConverter.Process(options);
Exemple d’utilisation :
// L'exemple montre comment valider la conformité du document PDF au format PDF/A (PDF/A-1a dans ce cas) :
// Créer la classe d'options pour configurer le processus de validation
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Ajouter un ou plusieurs fichiers à valider
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // remplacez par le chemin réel de votre fichier
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// ajouter plus de fichiers si nécessaire
// Exécuter la validation et obtenir les résultats
var resultContainer = PdfAConverter.Process(options);
// Vérifier la propriété resultContainer.ResultCollection pour les résultats de validation pour chaque fichier :
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
var result = resultContainer.ResultCollection[i];
var validationResult = (PdfAValidationResult) result.Data;
var isValid = validationResult.IsValid; // Résultat de la validation pour le document i
}
Amélioration de l’utilisabilité de Timestamp
Class Timestamp : est statique et ne nécessite pas l’utilisation d’un constructeur.
Exemple d’utilisation :
// L'exemple montre comment ajouter un Timestamp au document.
// Créer un objet AddTimestampOptions pour définir les instructions
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// 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"));
// Exécuter le processus
Timestamp.Process(options);
Documentation mise à jour
Exemples mis à jour, ajout d’exemples supplémentaires :
- Informations sur la licence et l’évaluation
- Pages produits
- Générateur de tableau PDF
- Générateur de table des matières PDF
- Ajouteur de timestamp PDF
- Convertisseur PDF/A
- Extracteur d’image PDF
- Extracteur de texte PDF
- Convertisseur PDF en XLS
- Convertisseur PDF en HTML
Bugs corrigés
- Problèmes corrigés avec HTML vers PDF
- Problèmes corrigés avec PDF vers PDF/A-2B
- Amélioration de PDF vers JPEG : certains caractères de texte générés sous forme de carré
- Correction du rendu PDF vers TIFF
- Correction des exceptions inattendues lors de la conversion PDF vers JPEG
v25.8
Amélioration de l’utilisabilité de JpegConverter
Class JpegConverter : est statique et ne nécessite pas l’utilisation d’un constructeur.
Exemple d’utilisation :
// L'exemple démontre comment convertir un document PDF en format JPEG.
// Créer un objet PdfToJpegOptions pour définir les instructions
var options = new PdfToJpegOptions();
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Définir le chemin du répertoire de sortie
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Effectuer le processus
JpegConverter.Process(options);
Amélioration de l’utilisabilité de PngConverter
Class PngConverter : est statique et ne nécessite pas l’utilisation d’un constructeur.
Exemple d’utilisation :
// L'exemple démontre comment convertir un document PDF en format PNG.
// Créer un objet PdfToPngOptions pour définir les instructions
var options = new PdfToPngOptions();
// Ajouter le chemin du fichier d'entrée
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Définir le chemin du répertoire de sortie
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Effectuer le processus
PngConverter.Process(options);
Amélioration de l’utilisabilité de XlsConverter
- Class XlsConverter : est statique et ne nécessite pas l’utilisation d’un constructeur.
- Class XlsConverter : description corrigée.
Exemple d’utilisation :
// L'exemple démontre comment convertir un PDF en document XLSX.
// Créer un objet PdfToXlsOptions pour définir les instructions
var options = new PdfToXlsOptions();
// 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_xlsx_file.xlsx"));
// Effectuer le processus
XlsConverter.Process(options);
Amélioration de l’utilisabilité de Signature
- Class Signature : est statique et ne nécessite pas l’utilisation d’un constructeur.
- Class Signature : description corrigée.
- Class Signature : interface IPlugin supprimée.
Exemple d’utilisation :
// L'exemple démontre comment signer un document PDF.
// Créer un objet SignOptions pour définir les instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// 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
Signature.Process(options);
Constructeurs de PdfToHtmlOptions modifiés
Constructeurs et arguments optimisés.
Texte de la marque d’évaluation modifié.
Documentation mise à jour
Exemples mis à jour, ajout de nouveaux exemples :
- Convertisseur PDF en JPEG
- Convertisseur PDF en PNG
- Convertisseur PDF en TIFF
- Aplatisseur de formulaire PDF
- Convertisseur HTML
- Sécurité PDF
- Optimiseur PDF
- Fusionneurs PDF
- Diviseur PDF
Bugs corrigés
- Correction des problèmes avec les annotations
- Correction des problèmes après le redimensionnement
- Correction de la transformation des noms de polices PDF à PDF/A
- Correction de PDF à DOCX - Un espace est ajouté dans l’en-tête, et d’autres problèmes
- Correction de HTML à PDF - Fond PNG transparent
- Correction de PDF compressé - Amélioration du travail avec Adobe Acrobat