v25.10
Nouveau plugin PDF Extractor
- Class PdfExtractor : contient toutes les fonctions des plugins : TextExtractor, ImageExtractor, FormExporter.
- Class TextExtractor : sera supprimée bientôt, utilisez PdfExtractor.
- Class ImageExtractor : sera supprimée bientôt, utilisez PdfExtractor.
- Class FormExporter : sera supprimée bientôt, utilisez PdfExtractor.
- Class TextExtractorOptions : renommée en Class ExtractTextOptions.
- Class ImageExtractorOptions : renommée en Class ExtractImagesOptions.
- Class FormExportToDsvOptions : renommée en Class ExtractFormDataToDsvOptions.
- Voir The New Plugin Architecture.
Exemple d’utilisation :
L’exemple montre comment extraire le texte 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 texte 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
- Class PdfManager : contient toutes les fonctions des plugins : Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
- Class Merger : sera supprimée bientôt.
- Class Optimizer : sera supprimée bientôt, utilisez PdfManager.
- Class Splitter : sera supprimée bientôt, utilisez PdfManager.
- Class TableGenerator : sera supprimée bientôt, utilisez PdfManager.
- Class TocGenerator : sera supprimée bientôt, 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 scinder 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 en générant des 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 enregistrer le résultat sous forme de 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’utilisabilité de TableGenerator
- Class TableGenerator : est statique et ne nécessite pas l’utilisation d’un constructeur.
- Class TableGenerator : est marquée comme Obsolète. Utilisez PdfManager à la place.
Amélioration de l’utilisabilité de PdfChatGpt
- Class PdfChatGpt : est statique et ne nécessite pas l’utilisation d’un constructeur.
- Class PdfChatGptRequestOptions : propriété CancellationToken ajoutée (déplacée depuis 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);Bugs corrigés
- Correction des métadonnées de conversion html vers pdf
- Correction des problèmes de formatage du texte et du redimensionnement des images lors de la conversion PDF → PDF/A_3b
- Correction du rapport d’erreur d’impression du PDF/A résultant de la conversion PDF → PDFA
- Correction de l’image de sortie contenant un arrière‑fond lors de la conversion PDF → HTML
- Correction de certains caractères chinois affichés sous forme de carrés lors de la conversion HTML → PDF
- Correction de la non‑prise en compte de la police personnalisée Base64 lors de la conversion HTML → PDF
- Correction du CSS des champs de formulaire non appliqué lors de la conversion HTML → PDF
- Correction du rendu incorrect du graphique lors de la conversion HTML → PDF
- Correction de la non‑affichage des caractères spéciaux lors de la conversion HTML → PDF