v25.10
- Classe PdfExtractor: contient toutes les fonctions des plugins : TextExtractor, ImageExtractor, FormExporter.
- Classe TextExtractor: sera bientôt supprimée, utilisez PdfExtractor.
- Classe ImageExtractor: sera bientôt supprimée, utilisez PdfExtractor.
- Classe FormExporter: sera bientôt supprimée, utilisez PdfExtractor.
- Classe TextExtractorOptions: renommée en Classe ExtractTextOptions.
- Classe ImageExtractorOptions: renommée en Classe ExtractImagesOptions.
- Classe FormExportToDsvOptions: renommée en Classe ExtractFormDataToDsvOptions.
- Voir The New Plugin Architecture.
Exemple d’utilisation :
L’exemple montre comment extraire le contenu textuel d’un document PDF.
// Create ExtractTextOptions object to set instructions
var options = new ExtractTextOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = PdfExtractor.ExtractText(options);
// Get the extracted text from the ResultContainer object
var textExtracted = results.ResultCollection[0].ToString();
Exemple d’utilisation :
L’exemple montre comment extraire le contenu textuel d’un document PDF avec TextFormattingMode.
// Create ExtractTextOptions object to set TextFormattingMode
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = PdfExtractor.ExtractText(options);
// Get the extracted text from the ResultContainer object
var textExtracted = results.ResultCollection[0].ToString();
Exemple d’utilisation :
L’exemple montre comment extraire des images d’un document PDF.
// Create ExtractImagesOptions to set instructions
var options = new ExtractImagesOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Perform the process
var results = PdfExtractor.ExtractImages(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();
Exemple d’utilisation :
L’exemple montre comment exporter les valeurs de formulaire vers un fichier CSV.
// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions(',', true);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Perform the process
PdfExtractor.ExtractFormData(options);
Nouveau plugin PDF Manager
- Classe PdfManager: contient toutes les fonctions des plugins : Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
- Classe Merger: sera bientôt supprimée.
- Classe Optimizer: sera bientôt supprimée, utilisez PdfManager.
- Classe Splitter: sera bientôt supprimée, utilisez PdfManager.
- Classe TableGenerator: sera bientôt supprimée, utilisez PdfManager.
- Classe TocGenerator: sera bientôt supprimée, utilisez PdfManager.
- Voir The New Plugin Architecture.
Exemple d’utilisation :
L’exemple montre comment fusionner deux documents PDF.
// Create MergeOptions object to set instructions
var options = new MergeOptions();
// Add input file paths
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Merge(options);
Exemple d’utilisation :
L’exemple montre comment diviser un document PDF.
// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file paths
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Perform the process
PdfManager.Split(options);
Exemple d’utilisation :
L’exemple montre comment optimiser un document PDF.
// Create OptimizeOptions object to set instructions
var options = new OptimizeOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Optimize(options);
Exemple d’utilisation :
L’exemple montre comment faire pivoter un document PDF.
// Create RotateOptions object to set instructions
var options = new RotateOptions();
// Set new Rotation
options.Rotation = Rotation.On90;
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Rotate(options);
Exemple d’utilisation :
L’exemple montre comment redimensionner un document PDF.
// Create ResizeOptions object to set instructions
var options = new ResizeOptions();
// Set new PageSize
options.PageSize = PageSize.A3;
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Resize(options);
Exemple d’utilisation :
L’exemple montre comment compresser un document PDF.
// Create CompressOptions object to set instructions
var options = new CompressOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Compress(options);
Exemple d’utilisation :
L’exemple montre comment ajouter un tableau à un fichier PDF.
// Configure table options
var options = new TableOptions();
options.InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Name")
.AddCell().AddParagraph("Age")
.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");
// Add input file path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Perform the process
PdfManager.AddTable(options);
Exemple d’utilisation :
L’exemple montre comment ajouter une table des matières à un fichier PDF.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2));
options.Headings.Add(new TocHeading("Chapter I", 3));
options.Headings.Add(new TocHeading("Chapter II", 4));
options.Headings.Add(new TocHeading("Chapter III", 5));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.AddTableOfContents(options);
Exemple d’utilisation :
L’exemple montre comment ajouter une table des matières à un fichier PDF avec génération de signets.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Generate links in bookmarks
options.GenerateBookmarks = true;
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapter I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapter II", 4, true, 1));
options.Headings.Add(new TocHeading("Example A", 4, true, 2));
options.Headings.Add(new TocHeading("Example B", 4, true, 2));
options.Headings.Add(new TocHeading("Example C", 4, true, 2));
options.Headings.Add(new TocHeading("Example D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapter III", 5, true, 1));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.AddTableOfContents(options);
Exemple d’utilisation :
L’exemple montre comment ajouter une table des matières à un fichier PDF et sauvegarder en tant que flux.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output stream
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// Perform the process
PdfManager.AddTableOfContents(options);
Amélioration de l’ergonomie de TableGenerator
- Classe TableGenerator: est statique et ne nécessite pas l’utilisation d’un constructeur.
- Classe TableGenerator: marquée comme Obsolète. Utilisez PdfManager à la place.
Amélioration de l’ergonomie de PdfChatGpt
- Classe PdfChatGpt: est statique et ne nécessite pas l’utilisation d’un constructeur.
- Classe PdfChatGptRequestOptions: ajout de la propriété CancellationToken (migrée de PdfChatGpt).
Exemple d’utilisation :
L’exemple montre comment utiliser le plugin PdfChatGpt en ajoutant des messages à la requête.
var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // Add the output file path.
options.ApiKey = "Your API key."; // You need to provide the key to access the API.
options.MaxTokens = 1000; // The maximum number of tokens to generate in the chat completion.
// for cancel
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;
// Add the request messages.
options.Messages.Add(new Message
{
Content = "You are a helpful assistant.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "What is the biggest pizza diameter ever made?",
Role = Role.User
});
// Process the request.
await PdfChatGpt.ProcessAsync(options);
Corrections de bugs
- Correction des métadonnées de conversion HTML en PDF
- Correction des problèmes de formatage de texte et d’échelle d’images lors de la conversion PDF en PDF/A_3b
- Correction des rapports d’erreur d’impression du PDF/A résultant
- Correction de l’image contenant un arrière-plan lors de la conversion de PDF en HTML
- Correction de l’apparition de certains caractères chinois sous forme de boîte lors de la conversion de HTML en PDF
- Correction du non-respect des polices personnalisées en Base64 lors de la conversion de HTML en PDF
- Correction de l’application du CSS au champ de formulaire lors de la conversion de HTML en PDF
- Correction du rendu incorrect des graphiques lors de la conversion de HTML en PDF
- Correction du rendu incorrect des caractères spéciaux lors de la conversion de HTML en PDF
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