v26.10
Changed fields in PdfProperties
- Field Created is DateTime (not DateTime?). Returns DateTime.MinValue if the document has no value.
- Field Modified is DateTime (not DateTime?). Returns DateTime.MinValue if the document has no value.
Example Usage:
The example demonstrates how to Extract Properties (Created, Modified) from PDF file.
// Create ExtractPropertiesOptions object to set input file
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;Added empty constructor to GetFieldNamesOptions
This can be useful in loop operations, without creating a new instance.
Example Usage:
var options = new GetFieldNamesOptions();
// Set input from a file
options.Input = new FileData("path_to_your_pdf_file.pdf");
// Or set input from a stream
// options.Input = new StreamData(stream);
var results = PdfForm.GetNames(options);Removed class Splitter
- The previous implementation of plugins is gradually being retired. The functionality of this class has been replaced by class PdfManager.
- Class Splitter: removed, use PdfManager.
Example Usage:
The example demonstrates how to Split a PDF stream into individual pages and save them as files.
// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file paths
options.AddOutput(new FileData("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileData("path_to_result_pdf_file_2.pdf"));
// Perform the process
PdfManager.Split(options);Example Usage:
This example demonstrates how to Split a PDF stream into individual pages and save them as streams.
// Prepare input and output streams
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
using var outputStream1 = new MemoryStream();
using var outputStream2 = new MemoryStream();
// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input stream
options.AddInput(inputStream);
// Set output streams
options.AddOutput(outputStream1);
options.AddOutput(outputStream2);
// Prevent the closing of output streams
options.CloseOutputStreams = false;
// Perform the process
PdfManager.Split(options);Removed class Merger
- The previous implementation of plugins is gradually being retired. The functionality of this class has been replaced by class PdfManager.
- Class Merger: removed, use PdfManager.
Example Usage:
The example demonstrates how to Merge two PDF documents.
// Create MergeOptions object to set instructions
var options = new MergeOptions();
// Add input file paths
options.AddInput(new FileData("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileData("path_to_your_pdf_file_2.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Merge(options);Other fixes
🖥️ HTML to PDF
- Fixed HTML to PDF conversion with many tables taking excessive time
- Fixed HTML to PDF output not printing correctly in Chrome
- Fixed HTML to PDF conversion missing table text content
🌐 PDF to HTML
- Fixed PDF to HTML conversion missing text and graphics content
- Fixed PDF to HTML conversion rendering a broken logo in the footer
📄 PDF to DOC/XLS
- Fixed PDF to DOC conversion taking excessive time
- Fixed PDF to Excel conversion producing incorrect output
🖼️ PDF to PNG
- Fixed PDF to PNG conversion where text on the first page was distorted
- Fixed PDF to PNG conversion throwing InvalidOperationException
🖼️ PDF to TIFF
- Fixed PDF to TIFF conversion not converting all pages
- Fixed PDF to TIFF conversion producing blacked‑out images
📑 PDF to PDF/A
- Fixed PDF to PDF/A conversion adding white symbols to the output
- Fixed PDF to PDF/A conversion changing rectangle border colors
- Fixed PDF to PDF/A‑1b output failing preflight compliance test
- Fixed PDF/A conversion producing invalid UTF‑8 BaseFont
- Fixed PDF/A conversion changing visible text
- Fixed PDF/A-2b conversion throwing ArgumentOutOfRangeException
- Fixed PDF/A-2b conversion throwing NullReferenceException
📄 Document Operations
- Fixed PDF merge throwing ArgumentException for an invalid key
- Fixed flattening fields changing text orientation
- Fixed incorrect text extraction from PDF documents