Novedades

v26.9

  • Clase eliminada FormFlattener
  • La clase GetFieldNamesOptions ha sido rediseñada
  • Otras correcciones

v26.8

  • La clase SignOptions ha sido rediseñada
  • Clase **Signature** eliminada
  • Clase **FormExporter** eliminada
  • Clase **FileData** mejorada
  • Otras correcciones

v26.7

  • Clase eliminada ImageExtractor
  • Clase eliminada Timestamp
  • Otras correcciones

v26.6

  • PdfSecurity: Añadir capacidad de firmar PDF con una marca de tiempo sin PFX
  • Clase TextExtractor eliminada
  • Añadida más información y pistas para nuevas entidades
  • Información sobre Sanitización añadida a la documentación y a los productos
  • Excepción corregida en la conversión de HTML a PDF
  • Otras correcciones

v26.5

  • Nueva característica: Sanitizar para la seguridad de PDF
  • Nueva clase OptionsWithInputAndOutput
  • Mejora del rendimiento de la conversión de PDF a JPEG
  • Página de producto actualizada “FAQs” para este sitio
  • Otras correcciones

v26.4

  • Se corrigió la excepción PdfExtractor.Extract
  • Mejora del rendimiento de renderizado de PDF a TIFF
  • Página de producto creada para "PDF Converter" en este sitio
  • Otras correcciones

v26.3

  • Renombrado IDataSource a IData
  • Renombrado FileDataSource a FileData
  • Renombrado StreamDataSource a StreamData
  • Renombrado DirectoryDataSource a DirectoryData
  • Renombrado de la propiedad **Delimiter** para `ExtractFormDataToDsvOptions`
  • Página de producto creada para "PDF Manager" en este sitio
  • Página de producto creada para "PDF Form" en este sitio
  • Problemas Resueltos

v26.2

  • Propiedad Mejorada de Extracción de Características para el PDF Extractor
  • Propiedad Mejorada de Extracción de Texto para el PDF Extractor
  • Errores Corregidos

v26.1

  • Nueva característica: Extraer propiedades para PDF Extractor
  • Mejoras
  • Errores corregidos

v25.12

  • Nuevo plugin PDF Form
  • Cambios en PDF Extractor
  • Mejoras
  • Errores corregidos

v25.11

  • Nuevo plugin PDF Converter
  • Nuevo plugin PDF Security
  • Plugin PdfChatGpt integrado a PdfManager
  • Nuevas opciones disponibles para trabajar con ChatGpt
  • Mejoras
  • Errores corregidos

v25.10

  • Nuevo plugin PDF Extractor
  • Nuevo plugin PDF Manager
  • Mejora de usabilidad de TableGenerator
  • Mejora de usabilidad de PdfChatGpt
  • Errores corregidos

v25.9

  • Mejoras en la usabilidad de DocConverter y modo extra añadido
  • Mejoras en la usabilidad de PdfAConverter
  • Mejoras en la usabilidad de Timestamp
  • Documentación actualizada
  • Corrección de errores

v25.8

  • Mejora de la usabilidad de JpegConverter
  • Mejora de la usabilidad de PngConverter
  • Mejora de la usabilidad de XlsConverter
  • Mejora de la usabilidad de Signature
  • Constructores modificados de PdfToHtmlOptions
  • Marca de evaluación modificada de TextExtractor
  • Documentación actualizada
  • Corrección de errores

v25.7

  • Mejoras en la usabilidad de Text Extractor
  • Mejoras en la usabilidad de Html Converter
  • Mejoras en la usabilidad de Image Extractor

v25.6

  • Usabilidad mejorada del Convertidor Tiff

v25.5

  • Nuevo complemento añadido: Form Exporter
  • Mejora de la usabilidad de Security

v25.4

  • Mejora de la usabilidad del Optimizer
  • Mejora de la usabilidad del Plugin Splitter
  • Mejora de la usabilidad del Plugin Merger

v25.3

  • Añadido nuevo Plugin: Form Flattener

v25.2

  • Nuevo Plugin añadido: Generador de TOC

v25.1

  • Plugin Mejorado: ImageExtractor

v24.12

  • Nuevo Plugin añadido: Convertidor de PDF a PNG
  • Nuevo Plugin añadido: Convertidor de PDF a TIFF
  • Nuevo Plugin añadido: Generador de tablas PDF
  • Clase renombrada de PdfDoc a DocConverter

v24.11

  • Nuevo Plugin añadido: Convertidor de PDF a JPEG
  • Clase añadida DirectoryDataSource
  • Clase añadida PdfToJpegOptions

v24.10

  • Plugin añadido: Convertidor PDF/A

v24.9

  • Lanzado
10 oct. 2024

Subsecciones de Novedades

v26.9

Clase eliminada FormFlattener

  • La implementación anterior de plugins se está retirando gradualmente. La funcionalidad de esta clase ha sido reemplazada por la clase PdfForm.
  • Class FormFlattener: eliminada, use PdfForm.

Ejemplo de uso:

El ejemplo muestra cómo aplanar (Flatten) campos en un archivo PDF.

// Create FlattenFieldsOptions object to set instructions
var options = new FlattenFieldsOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
 // Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfForm.Flatten(options);

Ejemplo de uso:

El ejemplo muestra cómo aplanar (Flatten) campos en un archivo PDF y omitir el primer campo.

// Get Fields Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));
// Create FlattenFieldsOptions object to set instructions
var options = new FlattenFieldsOptions();
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Skip 1 field.
options.SkipFields.Add(fieldNames[0]);
// Perform the process
PdfForm.Flatten(options);

La clase GetFieldNamesOptions ha sido rediseñada

  • Herencia de la clase OptionsWithInput.
  • Propiedad Input añadida.

Ejemplo de uso:

El ejemplo muestra cómo obtener los nombres de los campos de un archivo PDF.

// Get Field Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));

Ejemplo de uso:

El ejemplo muestra cómo obtener los nombres de los campos de un flujo PDF.

// Prepare input stream
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
// Get Field Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions(inputStream));

Otras correcciones

📄 PDF a DOC

  • Se corrigió la conversión de PDF a DOC que lanzaba OutOfMemoryException.
  • Se corrigió la conversión de PDF a HTML que mostraba un logotipo de pie de página roto.

🖼️ PDF a JPEG

  • Se corrigió la conversión de PDF a JPEG que lanzaba OutOfMemoryException.
  • Se corrigió la conversión de PDF a PNG que lanzaba InvalidOperationException.
  • Se corrigió la salida de PDF a TIFF que omitía información.

📑 PDF a PDF/A

  • Se corrigió la salida de PDF a PDF/A que no era válida para PDF/A-1b o PDF/A-3b.
  • Se corrigió la conversión a PDF/A-2b que lanzaba InvalidCastException.
7 sept. 2026

v26.8

La clase SignOptions ha sido rediseñada

  • Ahora es más fácil de usar.
  • Hereda de la clase OptionsWithInputAndOutput.
  • Las propiedades Inputs y Outputs cambiaron a Input y Output. Ahora solo hay 1 entrada y 1 salida.
  • Si la salida es un archivo, su flujo se cerrará automáticamente, pero si es un Stream, permanecerá abierto para uso posterior.
  • Se eliminaron los métodos AddInput, AddOutput.
  • Se añadieron varios constructores más convenientes:
    • SignOptions(IData inputData, IData outputData, IData pfxData, string password)
    • SignOptions(string inputFile, string outputFile, string pfxFile, string pfxPassword)
    • SignOptions(Stream inputStream, Stream outputStream, Stream pfxStream, string pfxPassword)
  • Se añadieron propiedades modificables:
    • Stream Pfx
    • string PfxPassword
    • IData Input
    • IData Output

Ejemplo de uso:

Ejemplo de trabajo con SignOptions.

using var pfxStream = File.OpenRead(@"path_to_your_pfx_file.pfx");
var options = new SignOptions(pfxStream, "password_of_your_pfx_file");
// Establecer rutas de archivo de entrada y salida
options.Input = new FileData("path_to_your_pdf_file.pdf");
options.Output = new FileData("path_to_result_pdf_file.pdf");

Ejemplo de uso:

El ejemplo muestra cómo firmar un archivo PDF de la manera más breve posible.

PdfSecurity.Sign(new SignOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf", "path_to_your_pfx_file.pfx", "password_of_your_pfx_file"));

Ejemplo de uso:

El ejemplo muestra cómo firmar un documento PDF utilizando streams.

// Preparar streams
using var pdfStreamInput = File.OpenRead(@"path_to_your_pdf_file.pdf");
using var pfxStreamInput = File.OpenRead(@"path_to_your_pfx_file.pfx");
using var pdfStreamOutput = new MemoryStream();
// Crear objeto SignOptions para establecer instrucciones
var options = new SignOptions(pdfStreamInput, pdfStreamOutput, pfxStreamInput, "password_of_your_pfx_file");
// Ejecutar el proceso
PdfSecurity.Sign(options);

Clase Signature eliminada

  • La implementación anterior de plugins se está retirando gradualmente. La funcionalidad de esta clase ha sido reemplazada por la clase PdfSecurity.
  • Class Signature: eliminada, use PdfSecurity.

Ejemplo de uso:

El ejemplo muestra cómo firmar un documento PDF.

// Crear objeto SignOptions para establecer instrucciones
var options = new SignOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf", "path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Ejecutar el proceso
PdfSecurity.Sign(options);

Clase FormExporter eliminada

  • La implementación anterior de plugins se está retirando gradualmente. La funcionalidad de esta clase ha sido reemplazada por las clases PdfExtractor y PdfForm.
  • Class FormExporter: eliminada, use PdfExtractor o PdfForm.

Ejemplo de uso:

El ejemplo muestra cómo exportar valores de formulario a un archivo CSV con PdfExtractor.

// Crear objeto ExtractFormDataToDsvOptions para establecer instrucciones
var options = new ExtractFormDataToDsvOptions(',', true);
// Añadir ruta del archivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileData("path_to_result_csv_file.csv"));
// Ejecutar el proceso
PdfExtractor.Extract(options);

Ejemplo de uso:

El ejemplo muestra cómo exportar valores de formulario a un archivo TSV y establecer propiedades con PdfForm.

// Crear objeto ExtractFormDataToDsvOptions para establecer instrucciones
var options = new ExtractFormDataToDsvOptions();
// Establecer delimitador
options.Delimiter = '\t';
// Añadir nombres de campos al resultado
options.AddFieldName = true;
// Añadir ruta del archivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));
// Ejecutar el proceso
PdfForm.Extract(options);

Clase FileData mejorada

  • Se sobrescribió el método ToString().

Otras correcciones

📄 PDF a DOC

  • Se corrigió la conversión de PDF a DOC que consumía tiempo excesivo.

🌐 PDF a HTML / HTML a PDF

  • Se corrigió la conversión de PDF a HTML que producían imágenes transparentes.
  • Se corrigió la conversión de HTML a PDF donde el contenido se superponía.
  • Se corrigió la conversión de HTML a PDF donde se ignoraba el ancho de la tabla.

🖼️ PDF a PNG/TIFF

  • Se corrigió la conversión de PDF a PNG que consumía memoria excesiva.
  • Se corrigió la conversión de PDF a PNG que no preservaba fuentes incrustadas.
  • Se corrigió la conversión de PDF a TIFF que lanzaba una excepción.

📑 PDF a PDF/A

  • Se corrigió la conversión de PDF a PDF/A que perdía colores del documento.
  • Se corrigió la conversión de PDF a PDF/A que superponía texto en la salida.
  • Se corrigió el método Validate() de PDF/A que devolvía resultados incorrectos.
  • Se corrigió la validación de PDF/A que producía resultados incorrectos.

📂 Otras operaciones

  • Se corrigió la excepción System.FormatException lanzada al verificar una firma PDF.
  • Se corrigió la excepción al combinar documentos.
13 ago. 2026

v26.7

Clase eliminada ImageExtractor

  • La implementación anterior de los complementos se está retirando gradualmente. La funcionalidad de esta clase ha sido reemplazada por la clase PdfExtractor.
  • Class ImageExtractor: eliminada, use PdfExtractor.

Ejemplo de uso:

El ejemplo muestra cómo extraer imágenes de un documento PDF.

// Create ExtractImagesOptions to set instructions
var options = new ExtractImagesOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryData("path_to_results_directory"));
// Perform the process
var results = PdfExtractor.Extract(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();

Clase eliminada Timestamp

  • La funcionalidad de esta clase ha sido reemplazada por la clase PdfSecurity.
  • Class Timestamp: eliminada, use PdfSecurity.
  • Class AddTimestampOptions: eliminada, use SignOptions y TimestampOptions.

Ejemplo de uso:

El ejemplo muestra cómo firmar un documento PDF con una marca de tiempo.

// Create SignOptions object to set Timestamp
var options = new SignOptions(new TimestampOptions("server_url"));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Sign(options);

Otras correcciones

🖥️ HTML a PDF

  • Se corrigió la conversión de HTML a PDF donde la ubicación de imágenes y la sobrescritura de texto ocurrían.
  • Se corrigió la conversión de HTML a PDF donde el contenido de la página no se ajustaba correctamente.
  • Se solucionó un problema en la conversión de HTML a PDF que mostraba una banda negra en el PDF generado.

📑 PDF a PDF/A

  • Se solucionó una excepción lanzada por la API de PDF a PDF/A.
  • Se corrigió la conversión de PDF a PDF/A que producían una salida con formato incorrecto.
  • Se resolvió un problema de memoria en la conversión de PDF a PDF/A.
  • Se solucionó un problema en la conversión a PDF/A‑3a.

⚙️ Restante

  • Se corrigió la falta de contenido de texto al convertir PDF a PNG y HTML.
  • Se solucionó un problema donde algunos campos quedaban en blanco después de aplanar.
  • Se corrigió un error donde el documento PDF mostraba un mensaje de error después de aplanar.
  • Se solucionó un problema donde la optimización del PDF alteraba el formato del contenido.
7 sept. 2026

v26.6

PdfSecurity: Añadir capacidad de firmar PDF con una marca de tiempo sin PFX

  • Ahora puedes añadir una marca de tiempo a un documento PDF sin especificar un archivo PFX ni una contraseña.
  • Class SignOptions: tiene un constructor con Class TimestampOptions.

Ejemplo de uso:

El ejemplo muestra cómo firmar un documento PDF con una marca de tiempo.

// Create SignOptions object to set Timestamp
var options = new SignOptions(new TimestampOptions("server_url"));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Sign(options);

Clase TextExtractor eliminada

  • La implementación anterior de complementos se está retirando gradualmente. La funcionalidad de esta clase ha sido reemplazada por la clase PdfExtractor.
  • Class TextExtractor: eliminada, usa PdfExtractor.

Añadida más información y pistas para nuevas entidades

  • Se añadieron comentarios XML para OptionsWithInputAndOutput y SanitizeOptions.
  • Se agregó información sobre valores por defecto en SanitizeOptions.

Información sobre Sanitización añadida a la documentación y a los productos

Excepción corregida en la conversión de HTML a PDF

Otras correcciones

📄 General / Sistema

  • Se corrigió la fusión de documentos PDF corruptos.
  • Se corrigió el procesamiento de archivos corruptos.
  • Se solucionó System.StackOverflowException al abrir un archivo PDF.
  • Se solucionó que la extracción de texto se colgara en archivos PDF específicos.

🌐 HTML → PDF

  • Se corrigió que los caracteres chinos se mostraran incorrectamente al convertir de HTML a PDF.

📑 PDF → DOC

  • Se solucionó que la anotación de resaltado siguiera ocultando texto.
  • Se corrigió que las imágenes se renderizaran incorrectamente.
  • Se solucionó un problema de rendimiento en la conversión de PDF a DOC.

📊 PDF → Excel

  • Se corrigió que la imagen de la tabla fuera ignorada al convertir de PDF a Excel.

🖼️ PDF → PNG

  • Se solucionó que la conversión a PNG tomara un tiempo excesivo.

🛡️ PDF → PDF/A

  • Se corrigió la pérdida de cumplimiento PDF A‑1A y la corrupción de formularios tras guardar.
  • Se solucionó el problema de tiempo de conversión de PDF a PDF/A.
  • Se corrigió la pérdida de semitransparencia durante la conversión a PDF/A.
  • Se solucionó el problema de superposición de texto en PDF/A.
  • Se corrigió un problema de renderizado de texto en PDF/A.
  • Se solucionó la corrupción del documento al convertir a PDF/A‑3b.
7 sept. 2026

v26.5

Nueva característica: Sanitizar para la seguridad de PDF

  • Sanitiza datos ocultos de un documento PDF, garantizando que la información sensible o innecesaria como metadatos, adjuntos, anotaciones, JavaScripts, formularios, capas, índice de búsqueda o contenido privado sea eliminada o transformada.
  • Class PdfSecurity: se añadió el método Sanitize para sanitizar documentos PDF.
  • Class SanitizeOptions: representa las opciones de configuración para sanitizar datos ocultos dentro de un documento para la clase PdfSecurity.
  • Property Input: Obtiene o establece los datos de entrada.
  • Property Output: Obtiene o establece los datos de salida.
  • Property ConvertPagesToImages: Obtiene o establece la opción de convertir páginas a imágenes.
  • Property ImageDpi: Obtiene o establece la opción para definir la resolución DPI de las imágenes de página durante la conversión de páginas a imágenes.
  • Property RemoveAnnotations: Obtiene o establece un valor que indica si se deben eliminar las anotaciones del documento.
  • Property RemoveSearchIndexAndPrivateInfo: Obtiene o establece un valor que indica si el índice de búsqueda y la información privada deben eliminarse del documento.
  • Property FlattenForms: Obtiene o establece un valor que indica si los formularios del documento deben aplastarse (flatten) durante el proceso de sanitización.
  • Property FlattenLayers: Obtiene o establece la opción de aplastar (flatten) las capas en el documento PDF.
  • Property RemoveJavaScriptsAndActions: Obtiene o establece un valor que indica si los JavaScript y las acciones asociadas deben eliminarse del documento.
  • Property RemoveMetadata: Obtiene o establece una opción para eliminar los metadatos del documento.
  • Property RemoveAttachments: Obtiene o establece la opción de eliminar todos los archivos adjuntos del documento.

Ejemplo de uso

El ejemplo muestra cómo Sanitize un documento PDF.

// Crear objeto SanitizeOptions para establecer archivos de entrada y salida
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Ejecutar el proceso
PdfSecurity.Sanitize(options);

Ejemplo de uso

El ejemplo muestra cómo Sanitize un PDF desde un flujo de entrada a un flujo de salida.

// Preparar flujos de entrada y salida
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
using var outputStream = new MemoryStream();
// Crear objeto SanitizeOptions para establecer los flujos
var options = new SanitizeOptions(inputStream, outputStream);
// Ejecutar el proceso
PdfSecurity.Sanitize(options);

Ejemplo de uso

El ejemplo muestra cómo Sanitize un PDF desde un archivo a un flujo.

// Preparar flujo de salida
using var outputStream = new MemoryStream();
// Crear objeto SanitizeOptions para establecer el archivo de entrada y el flujo de salida
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", outputStream);
// Ejecutar el proceso
PdfSecurity.Sanitize(options);

Ejemplo de uso

El ejemplo muestra cómo Sanitize un PDF desde un archivo a un flujo con la configuración manual de las propiedades de entrada y salida.

// Crear objeto SanitizeOptions
var options = new SanitizeOptions();
// Establecer archivo de entrada
options.Input = new FileData("path_to_your_pdf_file.pdf");
// Establecer archivo de salida
options.Output = new FileData("path_to_result_pdf_file.pdf");
// Ejecutar el proceso
PdfSecurity.Sanitize(options);

Ejemplo de uso

El ejemplo muestra cómo Sanitize un PDF sin eliminar los metadatos.

// Crear objeto SanitizeOptions para establecer archivos de entrada y salida
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveMetadata = false;
// Ejecutar el proceso
PdfSecurity.Sanitize(options);

Ejemplo de uso

El ejemplo muestra cómo Sanitize un PDF sin eliminar los adjuntos.

// Crear objeto SanitizeOptions para establecer archivos de entrada y salida
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveAttachments = false;
// Ejecutar el proceso
PdfSecurity.Sanitize(options);

Ejemplo de uso

El ejemplo muestra cómo Sanitize un PDF convirtiendo todas las páginas a imágenes y estableciendo el DPI resultante.

// Crear objeto SanitizeOptions para establecer archivos de entrada y salida
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Activar conversión y establecer DPI
options.ConvertPagesToImages = true;
options.ImageDpi = 200;
// Ejecutar el proceso
PdfSecurity.Sanitize(options);

Ejemplo de uso

El ejemplo muestra cómo Sanitize un PDF sin eliminar los JavaScripts y acciones.

// Crear objeto SanitizeOptions para establecer archivos de entrada y salida
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveJavaScriptsAndActions = false;
// Ejecutar el proceso
PdfSecurity.Sanitize(options);

Ejemplo de uso

El ejemplo muestra cómo Sanitize un archivo PDF con el estilo más breve posible.

PdfSecurity.Sanitize(new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf"));

Nueva clase OptionsWithInputAndOutput

  • Representa la base Options para operaciones con 1 dato de entrada y 1 dato de salida.
  • Basado en OptionsWithInput.
  • Property Input: Obtiene o establece los datos de entrada.
  • Property Output: Obtiene o establece los datos de salida.

Mejora del rendimiento de la conversión de PDF a JPEG

Página de producto actualizada “FAQs” para este sitio

https://docs.documentize.com/faqs/

Otras correcciones

  • Se corrigió el problema de velocidad en la conversión de HTML grande a PDF
  • Se corrigió PDF a HTML: se produce OutOfMemoryException
  • Se corrigió PDF a PDFA: el contenido de la página se corta
  • Se corrigió PDF a PDFA: problema de renderizado de imágenes transparentes
  • Se corrigió PDF a PDFA2b: se pierden anotaciones en la salida
  • Se corrigió PDF a PDF/A: la imagen aparece invertida en el archivo de salida
  • Se corrigió PDF a PDF/A: el archivo resultante no cumple con PDF/A_2a
  • Se corrigió PDF a PDF/A: el archivo resultante no cumple con la normativa
  • Se corrigió PDF a PDF/A: la firma se vuelve negra después de la conversión
  • Se corrigió PDF a PDF/A: la justificación del texto cambia inesperadamente
  • Se corrigió PDF a PNG: la conversión tarda demasiado tiempo
  • Se corrigió PDF a PNG: la imagen de salida es incorrecta
  • Se corrigió PDF a PNG: la imagen de salida muestra bandas oscuras
  • Se corrigió la imposibilidad de validar el cumplimiento PDF/A_1b del documento
7 sept. 2026

v26.4

Se corrigió la excepción PdfExtractor.Extract

  • Método PdfExtractor.Extract: no lanza una excepción si no se encuentran las fechas de Creado y Modificado en el documento de entrada.
  • Propiedad PdfProperties.Created: devuelve null si no se encuentra el valor en el documento de entrada. El tipo de dato cambió de DateTime a DateTime?.
  • Propiedad PdfProperties.Modified: devuelve null si no se encuentra el valor en el documento de entrada. El tipo de dato cambió de DateTime a DateTime?.

Ejemplo de uso:

El ejemplo muestra cómo extraer las propiedades Created y Modified

// 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;

Mejora del rendimiento de renderizado de PDF a TIFF

Página de producto creada para “PDF Converter” en este sitio

https://products.documentize.com/pdf-converter/

Otras correcciones

  • Se corrigió HTML a PDF – El rendimiento era muy lento con texto HTML grande
  • Se corrigió HTML a PDF – El encabezado y pie de página no aparecían en páginas subsecuentes
  • Se corrigió HTML a PDF – El tooltip no se renderizaba correctamente
  • Se corrigió PDF a DOC – La conversión provocaba una excepción OutOfMemory
  • Se corrigió PDF a XLS – Las columnas combinadas se unían en una sola columna
  • Se corrigió PDF a HTML – Faltaban imágenes de fondo
  • Se corrigió PDF a HTML – Los hipervínculos locales no se mostraban
  • Se corrigió PDF a JPEG – La imagen resultante aparecía negra
  • Se corrigió PDF a PDF/A – Problemas de formato en el archivo resultante
  • Se corrigió PDF a PDF/A_1b – El archivo resultante no era conforme
  • Se corrigió PDF a PDF/A_3b – Problemas de formato de texto en el archivo de salida
  • Se corrigió PDF a PDF/A-2B – La conversión elimina caracteres matemáticos al usar fuentes OpenType MATH
7 sept. 2026

v26.3

Renombrado IDataSource a IData

  • Interface IDataSource: renombrada a IData.
  • Las clases de opciones ahora son más fáciles de usar.

Renombrado FileDataSource a FileData

  • Class FileDataSource: renombrada a FileData.
  • Las clases de opciones ahora son más fáciles de usar.
  • Comentarios XML actualizados y corregidos.
  • Todos los ejemplos con Entrada y Salida actualizados.

Ejemplo de Uso:

El ejemplo muestra cómo usar FileData en Entrada y Salida.

// Create EncryptOptions object to set instructions
var options = new EncryptOptions("123456", "qwerty");
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Encrypt(options);

Renombrado StreamDataSource a StreamData

  • Class StreamDataSource: renombrada a StreamData.
  • Las clases de opciones ahora son más fáciles de usar.
  • Comentarios XML actualizados y corregidos.
  • Todos los ejemplos con Entrada y Salida actualizados.

Ejemplo de Uso:

El ejemplo muestra cómo usar StreamData en Salida.

// 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 FileData("path_to_your_pdf_file.pdf"));
// Set output stream 
var outputStream = new MemoryStream();
options.AddOutput(new StreamData(outputStream));
options.CloseOutputStreams = false;
// Perform the process
PdfManager.AddTableOfContents(options);

Renombrado DirectoryDataSource a DirectoryData

  • Class DirectoryDataSource: renombrada a DirectoryData.
  • Las clases de opciones ahora son más fáciles de usar.
  • Todos los ejemplos con Entrada y Salida actualizados.

Ejemplo de Uso:

El ejemplo muestra cómo exportar valores de formularios a un archivo TSV y establecer propiedades.

// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryData("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);

Renombrado de la propiedad Delimiter para ExtractFormDataToDsvOptions

Se corrigió un error tipográfico en la palabra.

Ejemplo de Uso:

El ejemplo muestra cómo exportar valores de formularios a un archivo TSV y establecer propiedades.

// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions();
// Set Delimiter
options.Delimiter = '\t';
// Add Field Names to result
options.AddFieldName = true;
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));
// Perform the process
PdfExtractor.Extract(options);

Página de producto creada para “PDF Manager” en este sitio

https://products.documentize.com/pdf-manager/

Página de producto creada para “PDF Form” en este sitio

https://products.documentize.com/pdf-form/

Problemas Resueltos

  • Se solucionó un problema donde Imagen a PDF causaba una excepción de Out of Memory.
  • Se solucionó un problema donde la generación de Tabla de Contenidos producía resultados incorrectos.
  • Se solucionó un problema donde la propiedad OptimizeResources UnembedFonts disparaba una excepción.
  • Se solucionó un problema donde PDF a HTML no aplicaba fuentes correctamente al visualizarse en Internet Explorer.
  • Se solucionó un problema donde PDF a HTML generaba elementos desubicados y símbolos de formato.
  • Se solucionó un problema donde el proceso de conversión de PDF a PDF/A se bloqueaba.
  • Se solucionó un problema donde PDF a PDF/A eliminaba campos de formulario y sus valores.
  • Se solucionó un problema donde la salida de PDF a PDF/A no cumplía con PDF/A_1a.
  • Se solucionó un problema donde la salida de PDF a PDF/A no cumplía con PDF/A_2b.
  • Se solucionó un problema donde la salida de PDF a PDF/A-3A fallaba la verificación de cumplimiento Preflight.
  • Se solucionó un problema donde la salida de PDF a PDF/A-3B fallaba la verificación de cumplimiento Preflight.
7 sept. 2026

v26.2

Propiedad Mejorada de Extracción de Características para el PDF Extractor

  • Class Extractor: puede extraer nuevos metadatos de documentos PDF.
  • Class PdfProperties: se añadieron propiedades: FileName, Created, Modified, Application, PdfProducer.

Ejemplo de uso:

El ejemplo muestra cómo extraer propiedades (FileName, Title, Author, Subject, Keywords, Created, Modified, Application, PDF Producer, Number of Pages) de un archivo PDF.

// 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 filename = pdfProperties.FileName;
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;
var application = pdfProperties.Application;
var pdfProducer = pdfProperties.PdfProducer;
var numberOfPages = pdfProperties.NumberOfPages;

Ejemplo de uso:

El ejemplo muestra cómo extraer propiedades (Title, Author, Subject, Keywords, Created, Modified, Application, PDF Producer, Number of Pages) de un flujo PDF.

// Create ExtractPropertiesOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractPropertiesOptions(stream);
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;
var application = pdfProperties.Application;
var pdfProducer = pdfProperties.PdfProducer;
var numberOfPages = pdfProperties.NumberOfPages;

Propiedad Mejorada de Extracción de Texto para el PDF Extractor

  • Trabajar con la extracción de texto y los parámetros de extracción ahora es más fácil: puedes especificar los datos de entrada y obtener el resultado de forma más directa que antes.
  • Class ExtractTextOptions: implementa IHaveInput. Usa solo 1 dato de entrada. Tipos de datos permitidos: File y Stream.
  • Method Extract(ExtractTextOptions options): devuelve una cadena con los resultados.
  • Object ResultContainer: eliminado de ExtractTextOptions.

Ejemplo de uso:

El ejemplo muestra cómo extraer contenido de texto de un archivo PDF.

// Create ExtractTextOptions object to set input file path
var options = new ExtractTextOptions("path_to_your_pdf_file.pdf");
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);

Ejemplo de uso:

El ejemplo muestra cómo extraer contenido de texto de un flujo PDF.

// Create ExtractTextOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractTextOptions(stream);
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);

Ejemplo de uso:

El ejemplo muestra cómo extraer contenido de texto de un documento PDF con TextFormattingMode.

// Create ExtractTextOptions object to set input file path and TextFormattingMode
var options = new ExtractTextOptions("path_to_your_pdf_file.pdf", TextFormattingMode.Pure);
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);

Ejemplo de uso:

El ejemplo muestra cómo extraer texto de un archivo PDF de la manera más concisa posible.

// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(new ExtractTextOptions("path_to_your_pdf_file.pdf", TextFormattingMode.Pure));

Errores Corregidos

  • La conversión de archivos Jpeg2000 a PDF fallaba
  • Problema al concatenar PDFs
  • El redimensionado de páginas PDF produce salida en blanco
  • PDF a HTML: el color de resaltado es visible pero falta el texto
  • PDF a HTML: se genera HTML incorrecto
  • PDF a HTML: falta texto vertical del lado izquierdo
  • PDF a HTML: desaparece el texto en el encabezado
  • PDF a HTML: texto anotado transparente no es visible
  • PDF a PNG: ciertos caracteres chinos no se renderizan
7 sept. 2026

v26.1

Nueva característica: Extraer propiedades para PDF Extractor

  • Extraer propiedades del PDF: Título, Autor, Asunto, Palabras clave, Número de páginas.
  • Class PdfExtractor: se añadió el método Extract para extraer propiedades del PDF.
  • Class ExtractPropertiesOptions: representa las opciones de extracción de propiedades del PDF para el plugin PdfExtractor.
  • Class PdfProperties: representa las propiedades e información de meta del documento PDF.
  • Interface IHaveInput: se utiliza para opciones con un único dato de entrada.
  • Class OptionsWithInput: se utiliza para opciones con un único dato de entrada.
  • Full Free functional.

Ejemplo de uso:

El ejemplo muestra cómo extraer propiedades (Título, Autor, Asunto, Palabras clave, Número de páginas) de un archivo PDF.

// 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 title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var numberOfPages = pdfProperties.NumberOfPages;

Ejemplo de uso:

El ejemplo muestra cómo extraer propiedades (Título, Autor, Asunto, Palabras clave, Número de páginas) de un flujo (stream) PDF.

// Create ExtractPropertiesOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractPropertiesOptions(stream);
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var numberOfPages = pdfProperties.NumberOfPages;

Ejemplo de uso:

El ejemplo muestra cómo extraer propiedades de un archivo PDF de la forma más concisa posible.

// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(new ExtractPropertiesOptions("path_to_your_pdf_file.pdf"));

Mejoras

  • La mejora de HTML a PDF admite texto alternativo para imágenes.
  • Cumplimiento de PDF a PDFA1b.

Errores corregidos

  • Se produce un error al intentar optimizar un archivo PDF.
  • Problema de alineación vertical en campos de formulario.
  • Se resolvió el problema al mostrar texto japonés en FormField.
  • Problema de formato de tabla en HTML a PDF.
  • Optimizar el tamaño del PDF antes de la conversión a PDF/A produce salida corrupta.
  • PDF a DOC – tabla renderizada incorrectamente.
  • PDF a Excel – problemas de formato en el archivo de salida.
  • PDF a HTML – ArgumentException durante la conversión.
  • Conversión de PDF a HTML omite algunos enlaces.
  • Texto faltante al convertir PDF a HTML.
7 sept. 2026

v25.12

Nuevo plugin PDF Form

  • Class PdfForm: contiene todas las funciones de los plugins: FormFlattener, FormExporter. También permite eliminar y obtener campos.
  • Class FormFlattener: será eliminado pronto, use PdfForm.
  • Class FormFlattenerOptions: renombrado a Class FlattenFieldsOptions.
  • Class GetFieldNamesOptions: permite establecer opciones para obtener nombres de campos.
  • Class RemoveFieldsOptions: permite establecer opciones para eliminar campos.
  • Consulte The New Plugin Architecture.

Ejemplo de uso:

El ejemplo muestra cómo aplanar (Flatten) campos en un archivo PDF.

// Crear objeto FlattenFieldsOptions para establecer instrucciones
var options = new FlattenFieldsOptions();
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Ejecutar el proceso
PdfForm.Flatten(options);

Ejemplo de uso:

El ejemplo muestra cómo obtener los nombres de los campos de un archivo PDF.

var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));

Ejemplo de uso:

El ejemplo muestra cómo exportar los valores del formulario a un archivo CSV.

// Crear objeto ExtractFormDataToDsvOptions para establecer instrucciones
var options = new ExtractFormDataToDsvOptions(',', true);
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Ejecutar el proceso
PdfForm.Extract(options);

Ejemplo de uso:

El ejemplo muestra cómo eliminar campos de un archivo PDF.

// Crear objeto RemoveFieldsOptions para establecer instrucciones
var options = new RemoveFieldsOptions();
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Ejecutar el proceso
PdfForm.Remove(options);

Cambios en PDF Extractor

  • Method ExtractText: renombrado a Method Extract.
  • Method ExtractImages: renombrado a Method Extract.
  • Method ExtractFormData: renombrado a Method Extract.

Ejemplo de uso:

El ejemplo muestra cómo extraer el contenido de texto de un documento PDF.

// Crear objeto ExtractTextOptions para establecer instrucciones
var options = new ExtractTextOptions();
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Ejecutar el proceso
var results = PdfExtractor.Extract(options);
// Obtener el texto extraído del objeto ResultContainer
var textExtracted = results.ResultCollection[0].ToString();

Ejemplo de uso:

El ejemplo muestra cómo extraer imágenes de un documento PDF.

// Crear objeto ExtractImagesOptions para establecer instrucciones
var options = new ExtractImagesOptions();
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer ruta del directorio de salida
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Ejecutar el proceso
var results = PdfExtractor.Extract(options);
// Obtener la ruta del resultado de la imagen
var imageExtracted = results.ResultCollection[0].ToFile();

Ejemplo de uso:

El ejemplo muestra cómo exportar los valores del formulario a un archivo CSV.

// Crear objeto ExtractFormDataToDsvOptions para establecer instrucciones
var options = new ExtractFormDataToDsvOptions(',', true);
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Ejecutar el proceso
PdfExtractor.Extract(options);

Mejoras

  • Class PdfConverterOptions, PdfToXlsOptions - usar Class PluginBaseOptions
  • Conversión a PDF/A-1b
  • Conversión a PDF/A-2b

Errores corregidos

  • Se solucionaron problemas de formato en la conversión de HTML a PDF
  • La conversión de PDF a HTML perdía algunos enlaces
7 sept. 2026

v25.11

Nuevo plugin PDF Converter

  • Class PdfConverter: contiene todas las funciones de los plugins: DocConverter, XlsConverter, HtmlConverter, JpegConverter, PdfAConverter, PngConverter, TiffConverter.
  • Class DocConverter: será eliminado pronto, use PdfConverter.
  • Class XlsConverter: será eliminado pronto, use PdfConverter.
  • Class HtmlConverter: será eliminado pronto, use PdfConverter.
  • Class JpegConverter: será eliminado pronto, use PdfConverter.
  • Class PdfAConverter: será eliminado pronto, use PdfConverter.
  • Class PngConverter: será eliminado pronto, use PdfConverter.
  • Class TiffConverter: será eliminado pronto, use PdfConverter.
  • Class PdfAConvertOptions: renombrado a Class PdfToPdfAOptions.
  • Ver The New Plugin Architecture.

Ejemplo de uso:

El ejemplo muestra cómo convertir un documento PDF a formato Doc.

// Create PdfToDocOptions object to set instructions
var options = new PdfToDocOptions();
// 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_file.doc"));
// Perform the process
PdfConverter.Convert(options);

Ejemplo de uso:

El ejemplo muestra cómo convertir PDF a documento XLSX.

// Create PdfToXlsOptions object to set instructions
var options = new PdfToXlsOptions();
// 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_xlsx_file.xlsx"));
// Perform the process
PdfConverter.Convert(options);

Ejemplo de uso:

El ejemplo muestra cómo convertir PDF a documento HTML.

// Create PdfToHtmlOptions object to set output data type as file with embedded resources
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Add input file path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.html"));
//Perform the process
PdfConverter.Convert(options);

Ejemplo de uso:

El ejemplo muestra cómo convertir un documento HTML a PDF.

// Create HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_input.html"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.pdf"));
//Perform the process
PdfConverter.Convert(options);

Ejemplo de uso:

El ejemplo muestra cómo convertir un documento PDF a formato JPEG.

// Create PdfToJpegOptions object to set instructions
var options = new PdfToJpegOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);

Ejemplo de uso:

El ejemplo muestra cómo convertir un documento PDF a formato PNG.

// Create PdfToPngOptions object to set instructions
var options = new PdfToPngOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);

Ejemplo de uso:

El ejemplo muestra cómo convertir un documento PDF a formato TIFF.

// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);

Ejemplo de uso:

El ejemplo muestra cómo convertir el documento PDF a formato PDF/A (PDF/A-3b en este caso):

// Create the options class to set up the conversion process
var options = new PdfToPdfAOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_3B
};

// Add the source file
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // replace with your actual file path

// Add the path to save the converted file
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));

// Run the conversion
PdfConverter.Convert(options);

Ejemplo de uso:

El ejemplo muestra cómo validar la conformidad del documento PDF con el formato PDF/A (PDF/A-1a en este caso):

// Create the options class to set up the validation process
var options = new PdfAValidateOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_1A
};

// Add one or more files to be validated
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // replace with your actual file path
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// add more files as needed

// Run the validation and get results
var resultContainer = PdfConverter.Validate(options);

// Check the resultContainer.ResultCollection property for validation results for each file:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
    var result = resultContainer.ResultCollection[i];
    var validationResult = (PdfAValidationResult) result.Data;
    var isValid = validationResult.IsValid; // Validation result for the i-th document
}

Nuevo plugin PDF Security

  • Class PdfSecurity: contiene todas las funciones de los plugins: Security, Signature, Timestamp.
  • Class Security: será eliminado pronto, use PdfSecurity.
  • Class Signature: será eliminado pronto, use PdfSecurity.
  • Class Timestamp: será eliminado pronto, use PdfSecurity.
  • Class DecryptionOptions: renombrado a Class DecryptOptions.
  • Class EncryptionOptions: renombrado a Class EncryptOptions.
  • Class SignOptions: ahora tiene propiedades para Class Timestamp.
  • Ver The New Plugin Architecture.

Ejemplo de uso:

El ejemplo muestra cómo Encriptar un documento PDF.

// Create EncryptOptions object to set instructions
var options = new EncryptOptions("123456", "qwerty");
// 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
PdfSecurity.Encrypt(options);

Ejemplo de uso:

El ejemplo muestra cómo Desencriptar un documento PDF.

// Create DecryptOptions object to set instructions
var options = new DecryptOptions("123456");
// 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
PdfSecurity.Decrypt(options);

Ejemplo de uso:

El ejemplo muestra cómo Firmar un documento PDF.

// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// 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
PdfSecurity.Sign(options);

Ejemplo de uso:

El ejemplo muestra cómo Firmar un documento PDF con Timestamp.

// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file");
options.TimestampOptions = new TimestampOptions("server_url");
// 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
PdfSecurity.Sign(options);

Plugin PdfChatGpt integrado a PdfManager

  • Class PdfChatGpt: será eliminado pronto, use PdfManager.
  • Class PdfChatGptRequestOptions: renombrado a Class ChatGptRequestOptions.

Nuevas opciones disponibles para trabajar con ChatGpt

  • Class ChatCompletion: permite comprobar los resultados de la solicitud.
  • Class Choice: permite comprobar los resultados de la solicitud.
  • Class Usage: permite comprobar los resultados de la solicitud.
  • Class ChatGptConsts: permite usar configuraciones extras como ModelName, API URL y otros.

Ejemplo de uso:

El ejemplo muestra cómo usar ChatGpt añadiendo mensajes a la solicitud.

var options = new ChatGptRequestOptions();
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf")); 
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.

// 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.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);

var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // The ChatGPT API chat completion object.

Mejoras

  • PDF a Imagen - Mejora del rendimiento de conversión
  • PDF a TIFF - Mejora de la velocidad de conversión
  • PDF a Doc - Mejora del rendimiento

Errores corregidos

  • Corregido HTML a PDF - Problemas de formato en el archivo resultante
  • Corregido problema de rendimiento en la conversión de PDF a TIFF
  • Corregido HTML a PDF - El archivo CSS como recurso externo no se aplicaba al PDF generado.
7 sept. 2026

v25.10

Nuevo plugin PDF Extractor

  • Class PdfExtractor: contiene todas las funciones de los plugins: TextExtractor, ImageExtractor, FormExporter.
  • Class TextExtractor: será eliminado pronto, use PdfExtractor.
  • Class ImageExtractor: será eliminado pronto, use PdfExtractor.
  • Class FormExporter: será eliminado pronto, use PdfExtractor.
  • Class TextExtractorOptions: renombrado a Class ExtractTextOptions.
  • Class ImageExtractorOptions: renombrado a Class ExtractImagesOptions.
  • Class FormExportToDsvOptions: renombrado a Class ExtractFormDataToDsvOptions.
  • Consulte The New Plugin Architecture.

Ejemplo de uso:

El ejemplo muestra cómo extraer el contenido de texto de un documento 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();

Ejemplo de uso:

El ejemplo muestra cómo extraer el contenido de texto de un documento PDF con 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();

Ejemplo de uso:

El ejemplo muestra cómo extraer imágenes de un documento 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();

Ejemplo de uso:

El ejemplo muestra cómo exportar los valores de formulario a un archivo 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);

Nuevo plugin PDF Manager

  • Class PdfManager: contiene todas las funciones de los plugins: Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
  • Class Merger: será eliminado pronto.
  • Class Optimizer: será eliminado pronto, use PdfManager.
  • Class Splitter: será eliminado pronto, use PdfManager.
  • Class TableGenerator: será eliminado pronto, use PdfManager.
  • Class TocGenerator: será eliminado pronto, use PdfManager.
  • Consulte The New Plugin Architecture.

Ejemplo de uso:

El ejemplo muestra cómo combinar dos documentos 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);

Ejemplo de uso:

El ejemplo muestra cómo dividir un documento 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);

Ejemplo de uso:

El ejemplo muestra cómo optimizar un documento 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);

Ejemplo de uso:

El ejemplo muestra cómo rotar un documento 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);

Ejemplo de uso:

El ejemplo muestra cómo cambiar el tamaño de página de un documento 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);

Ejemplo de uso:

El ejemplo muestra cómo comprimir un documento 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);

Ejemplo de uso:

El ejemplo muestra cómo añadir una tabla a un archivo 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);

Ejemplo de uso:

El ejemplo muestra cómo añadir una tabla de contenidos a un archivo 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);

Ejemplo de uso:

El ejemplo muestra cómo añadir una tabla de contenidos a un archivo PDF generando marcadores.

// 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);

Ejemplo de uso:

El ejemplo muestra cómo añadir una tabla de contenidos a un archivo PDF y guardarlo como flujo.

// 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);

Mejora de usabilidad de TableGenerator

  • Class TableGenerator: es estática y no requiere el uso de un constructor.
  • Class TableGenerator: marcada como Obsoleta. Use PdfManager en su lugar.

Mejora de usabilidad de PdfChatGpt

  • Class PdfChatGpt: es estática y no requiere el uso de un constructor.
  • Class PdfChatGptRequestOptions: se añadió la propiedad CancellationToken (movida desde PdfChatGpt).

Ejemplo de uso:

El ejemplo muestra cómo usar el plugin PdfChatGpt añadiendo mensajes a la solicitud.

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);

Errores corregidos

  • Se corrigió la conversión de HTML a PDF de los metadatos.
  • Se corrigió el problema de formato de texto y escalado de imágenes al convertir PDF a PDF/A_3b.
  • Se corrigió el error de impresión en los PDFs generados a partir de PDF/A.
  • Se solucionó que la imagen resultante de PDF a HTML contenía fondo.
  • Se solucionó que algunos caracteres chinos aparecían como cuadros al convertir HTML a PDF.
  • Se solucionó que la fuente personalizada en Base64 no se respetaba en la conversión HTML a PDF.
  • Se solucionó que el CSS de los campos de formulario no se aplicaba en la conversión HTML a PDF.
  • Se solucionó que los gráficos no se renderizaban correctamente al convertir HTML a PDF.
  • Se solucionó que los caracteres especiales no se renderizaban en la conversión HTML a PDF.
7 sept. 2026

v25.9

Mejoras en la usabilidad de DocConverter y modo extra añadido

  • Class DocConverter: es estática y no requiere el uso de un constructor.
  • Class PdfToDocOptions: se añadió la propiedad “Mode” que permite personalizar el proceso de conversión.
  • Enum DocConversionMode: permite personalizar el proceso de conversión pdf‑doc. Valores:
    • TextBox: este modo es rápido y bueno para preservar al máximo el aspecto original del archivo PDF, aunque la editabilidad del documento resultante puede ser limitada. Cada bloque de texto agrupado visualmente en el PDF original se convierte en un cuadro de texto en el documento resultante.
    • Flow: modo de reconocimiento completo, el motor realiza agrupamiento y análisis multinivel para restaurar la intención original del autor del documento y producir un documento lo máximo posible editable.

Ejemplo de uso:

// El ejemplo muestra cómo convertir un documento PDF a formato Doc.
// Crear objeto PdfToDocOptions para establecer instrucciones
var options = new PdfToDocOptions();
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Ejecutar el proceso
DocConverter.Process(options);

Ejemplo de uso:

// El ejemplo muestra cómo convertir un documento PDF a formato Doc con la configuración del modo.
// Crear objeto PdfToDocOptions para establecer instrucciones
var options = new PdfToDocOptions();
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Establecer el modo
options.Mode = DocConversionMode.Flow;
// Ejecutar el proceso
DocConverter.Process(options);

Mejoras en la usabilidad de PdfAConverter

Class PdfAConverter: es estática y no requiere el uso de un constructor.

Ejemplo de uso:

// El ejemplo muestra cómo convertir el documento PDF a formato PDF/A (PDF/A-3b en este caso):
// Crear la clase de opciones para configurar el proceso de conversión
var options = new PdfAConvertOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_3B
};

// Añadir el archivo de origen
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // reemplace con la ruta real de su archivo

// Añadir la ruta donde se guardará el archivo convertido
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));

// Ejecutar la conversión
PdfAConverter.Process(options);

Ejemplo de uso:

// El ejemplo muestra cómo validar la conformidad del documento PDF con el formato PDF/A (PDF/A-1a en este caso):
// Crear la clase de opciones para configurar el proceso de validación
var options = new PdfAValidateOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_1A
};

// Añadir uno o más archivos a validar
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // reemplace con la ruta real de su archivo
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// añadir más archivos según sea necesario

// Ejecutar la validación y obtener resultados
var resultContainer = PdfAConverter.Process(options);

// Consultar la propiedad ResultCollection de resultContainer para obtener los resultados de validación de cada archivo:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
    var result = resultContainer.ResultCollection[i];
    var validationResult = (PdfAValidationResult) result.Data;
    var isValid = validationResult.IsValid; // Resultado de validación para el documento i‑ésimo
}

Mejoras en la usabilidad de Timestamp

Class Timestamp: es estática y no requiere el uso de un constructor.

Ejemplo de uso:

// El ejemplo muestra cómo añadir un sello de tiempo al documento.
// Crear objeto AddTimestampOptions para establecer instrucciones
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Ejecutar el proceso
Timestamp.Process(options);

Documentación actualizada

Ejemplos actualizados, se añadieron ejemplos extra:

  • Información sobre licencia y Evaluación
  • Páginas del producto
  • Generador de tablas PDF
  • Generador de TOC PDF
  • Añadidor de sello de tiempo PDF
  • Convertidor PDF/A
  • Extractor de imágenes PDF
  • Extractor de texto PDF
  • Convertidor PDF a XLS
  • Convertidor PDF a HTML

Corrección de errores

  • Se solucionaron problemas con HTML a PDF
  • Se solucionaron problemas con PDF a PDF/A-2B
  • Mejora en PDF a JPEG: algunos caracteres de texto se generaban como cuadrados
  • Se corrigió la renderización de PDF a TIFF
  • Se solucionaron excepciones inesperadas en PDF a JPEG
7 sept. 2026

v25.8

Mejora de la usabilidad de JpegConverter

Class JpegConverter: es estática y no requiere el uso de un constructor.

Ejemplo de uso:

// The example demonstrates how to convert PDF document into JPEG format.
// Create PdfToJpegOptions object to set instructions
var options = new PdfToJpegOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
JpegConverter.Process(options);

Mejora de la usabilidad de PngConverter

Class PngConverter: es estática y no requiere el uso de un constructor.

Ejemplo de uso:

// The example demonstrates how to convert PDF document into PNG format.
// Create PdfToPngOptions object to set instructions
var options = new PdfToPngOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PngConverter.Process(options);

Mejora de la usabilidad de XlsConverter

  • Class XlsConverter: es estática y no requiere el uso de un constructor.
  • Class XlsConverter: descripción corregida.

Ejemplo de uso:

// The example demonstrates how to convert PDF to XLSX document.
// Create PdfToXlsOptions object to set instructions
var options = new PdfToXlsOptions();
// 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_xlsx_file.xlsx"));
// Perform the process
XlsConverter.Process(options);

Mejora de la usabilidad de Signature

  • Class Signature: es estática y no requiere el uso de un constructor.
  • Class Signature: descripción corregida.
  • Class Signature: interfaz IPlugin eliminada.

Ejemplo de uso:

// The example demonstrates how to sign PDF document.
// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// 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
Signature.Process(options);

Constructores modificados de PdfToHtmlOptions

Constructores y argumentos optimizados.

Marca de evaluación modificada de TextExtractor

Texto de la marca de evaluación cambiado.

Documentación actualizada

Ejemplos actualizados, se añadieron ejemplos adicionales:

  • Convertidor de PDF a JPEG
  • Convertidor de PDF a PNG
  • Convertidor de PDF a TIFF
  • Aplanador de formularios PDF
  • Convertidor a HTML
  • Seguridad PDF
  • Optimizador PDF
  • Fusionador de PDF
  • Divisor de PDF

Corrección de errores

  • Se corrigen problemas con anotaciones
  • Se corrigen problemas después de redimensionar
  • Se corrige la transformación de nombres de fuentes en PDF a PDF/A
  • Se corrige PDF a DOCX: se añadía un espacio en el encabezado y otros problemas
  • Se corrige HTML a PDF: fondo PNG transparente
  • Se corrige PDF comprimido: mejora el trabajo con Adobe Acrobat
7 sept. 2026

v25.7

Mejoras en la usabilidad de Text Extractor

  • Class TextExtractor: es estática y no requiere el uso de un constructor.
  • Class TextExtractor: comportamiento mejorado al ejecutarse en modo de evaluación. No se produce excepción con documentos de más de 4 páginas.
  • Class TextExtractor: se corrigieron problemas en el método Process.
  • Class PdfExtractorOptions: eliminado.
  • Class TextExtractorOptions: refactorizado.
  • Enum TextFormattingMode: renombrado y mejorado.

Ejemplo de uso:

// El ejemplo muestra cómo extraer el contenido de texto de un documento PDF.
// Crear objeto TextExtractorOptions para establecer instrucciones
var options = new TextExtractorOptions(TextFormattingMode.Pure);
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Ejecutar el proceso
var results = TextExtractor.Process(options);
// Obtener el texto extraído del objeto ResultContainer
var textExtracted = results.ResultCollection[0].ToString();

Mejoras en la usabilidad de Html Converter

  • Class HtmlConverter: es estática y no requiere el uso de un constructor.
  • Class HtmlConverter: se corrigieron problemas en el método Process.
  • Class HtmlConverter: se eliminó la lógica de IDisposable.
  • Class PdfConverterOptions: eliminado.

Ejemplos de uso:

// El ejemplo muestra cómo convertir un PDF a documento HTML.
// Crear objeto PdfToHtmlOptions para establecer el tipo de datos de salida como archivo con recursos incrustados
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_output.html"));
// Ejecutar el proceso
HtmlConverter.Process(options);

// El ejemplo muestra cómo convertir un HTML a documento PDF.
// Crear HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_input.html"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Ejecutar el proceso
HtmlConverter.Process(options);

Mejoras en la usabilidad de Image Extractor

  • Class ImageExtractor: es estática y no requiere el uso de un constructor.

Ejemplo de uso:

// El ejemplo muestra cómo extraer imágenes de un documento PDF.
// Crear ImageExtractorOptions para establecer instrucciones
var options = new ImageExtractorOptions();
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer ruta del directorio de salida
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Ejecutar el proceso
var results = ImageExtractor.Process(options);
// Obtener la ruta de la imagen resultante
var imageExtracted = results.ResultCollection[0].ToFile();

Correcciones menores

  • Correcciones internas.
  • Se arreglaron ejemplos y pistas del Tiff Converter.
  • Se minimizó la duración de la optimización de páginas.
  • Corregido: salida de imagen incorrecta al convertir PDF a PNG.
  • Corregido: los caracteres chinos no se mostraban correctamente durante la conversión de PDF a PNG.
  • Mejorado: rendimiento durante la conversión de PDF a HTML.
7 sept. 2026

v25.6

Usabilidad mejorada del Convertidor Tiff

  • Class PdfToTiffOptions: Se agregó un parámetro adicional para la conversión - Compresión.
  • Class PdfToTiffOptions: Se agregó un parámetro adicional para la conversión - ProfundidadDeColor.
  • Class TiffConverter es estática y no requiere el uso de un constructor.
  • Se mejoraron los ejemplos principales.

Ejemplos de uso:

// The example demonstrates how to convert PDF document into TIFF format.
// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
TiffConverter.Process(options);

// The example demonstrates how to convert PDF document into TIFF format with additional parameters.
// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Optional parameters
options.PageList = new List<int> { 1, 3 };
options.MultiPage = true;
options.OutputResolution = 400;
options.Compression = TiffCompression.RLE;
options.ColorDepth = TiffColorDepth.Format24bpp;
// Perform the process
TiffConverter.Process(options);

Correcciones menores

  • Correcciones internas.
7 sept. 2026

v25.5

Nuevo complemento añadido: Form Exporter

  • Class FormExporter: Representa el complemento Documentize.FormExporter que se utiliza para exportar los valores de formularios de documentos PDF a un archivo DSV o CSV
  • Class FormExportToDsvOptions: Representa las opciones para exportar los valores de documentos PDF a un archivo DSV o CSV mediante el complemento Documentize.FormExporter.

Ejemplo de uso:

// El ejemplo muestra cómo exportar los valores del formulario a un archivo CSV.
// Crear un objeto FormExportToDsvOptions para establecer las instrucciones
var options = new FormExportToDsvOptions(',', true);
// Añadir la ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer la ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Ejecutar el proceso
FormExporter.Process(options);

Mejora de la usabilidad de Security

  • La clase es estática y no requiere el uso de un constructor.
  • Ejemplos principales mejorados.

Ejemplos de uso:

// El ejemplo muestra cómo encriptar un documento PDF.
// Crear un objeto EncryptionOptions para establecer las instrucciones
var options = new EncryptionOptions("123456", "qwerty");
// Añadir la ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer la ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Ejecutar el proceso
Security.Process(options);

// El ejemplo muestra cómo desencriptar un documento PDF.
// Crear un objeto DecryptionOptions para establecer las instrucciones
var options = new DecryptionOptions("123456");
// Añadir la ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer la ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Ejecutar el proceso
Security.Process(options);

Correcciones menores

  • Mejoras en las sugerencias de clases y licencias.
7 sept. 2026

v25.4

Mejora de la usabilidad del Optimizer

  • La clase es estática y no requiere el uso de un constructor.
  • Ejemplo principal mejorado.
  • Se añadieron ejemplos adicionales.

Ejemplos de uso:

// The example demonstrates how to Optimize PDF document.
// 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
Optimizer.Process(options);

// The example demonstrates how to Rotate PDF document.
// 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
Optimizer.Process(options);

// The example demonstrates how to Resize PDF document.
// 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
Optimizer.Process(options);

// The example demonstrates how to Compress PDF document.
// 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
Optimizer.Process(options);

Mejora de la usabilidad del Plugin Splitter

  • La clase es estática y no requiere el uso de un constructor.
  • Ejemplo principal mejorado.

Ejemplos de uso:

// The example demonstrates how to Split PDF document.
// 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
Splitter.Process(options);

Mejora de la usabilidad del Plugin Merger

  • La clase es estática y no requiere el uso de un constructor.
  • Ejemplo principal mejorado.

Ejemplos de uso:

// 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 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
Merger.Process(options);

Correcciones menores

  • Pistas de clase mejoradas.
7 sept. 2026

v25.3

Añadido nuevo Plugin: Form Flattener

  • Class FormFlattener: Representa el plugin Documentize.FormFlattener que se utiliza para aplanar campos en documentos PDF.
  • Class FormFlattenerOptions: Representa las opciones para aplanar campos en el documento mediante el plugin Documentize.FormFlattener.

Ejemplo de uso:

// El ejemplo muestra cómo aplanar campos en un archivo PDF.
// Crear objeto FormFlattenerOptions para establecer instrucciones
var options = new FormFlattenerOptions();
// Añadir ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Parámetro opcional para omitir el campo con nombre "Surname".
options.SkipFields.Add("Surname");
// Ejecutar el proceso
FormFlattener.Process(options);

// El ejemplo muestra cómo obtener los nombres de los campos de un archivo PDF.
var fieldNames = FormFlattener.GetFieldNames("path_to_your_pdf_file.pdf");

Correcciones menores

  • Mejoradas las indicaciones de clase y los ejemplos.
7 sept. 2026

v25.2

Nuevo Plugin añadido: Generador de TOC

  • Class TocGenerator: Representa el plugin Documentize.TocGenerator. Se utiliza para añadir una tabla de contenidos a documentos PDF.
  • Class TocOptions: Representa las opciones para añadir una tabla de contenidos al documento mediante el plugin Documentize.TocGenerator.
  • Class TocHeading: Representa las opciones para los encabezados o títulos de la tabla de contenidos al documento mediante el plugin Documentize.TocGenerator.

Ejemplo de uso

// El ejemplo demuestra cómo añadir una tabla de contenidos a un archivo PDF.
var options = new TocOptions();

// Establecer el título
options.Title = "My Table of Contents";

// Generar enlaces en los marcadores
options.GenerateBookmarks = true;

// Diseñar los encabezados
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));

// Añadir la ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));

// Establecer la ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));

// Ejecutar el proceso
TocGenerator.Process(options);

Correcciones menores

  • Mejoradas las pistas de clases y los ejemplos.
  • Actualizadas las marcas de agua.
  • Mejorada la conversión de PDF a XLSX.
  • Mejorada la conversión de PDF a PDF/A-1a.
7 sept. 2026

v25.1

Plugin Mejorado: ImageExtractor

  • Se añadió la colección de salida a ImageExtractorOptions.
  • Se añadió soporte para múltiples entradas en ImageExtractorOptions.
  • Se corrigieron los flujos de salida cerrados.

Ejemplo de Uso:

// create ImageExtractor object to extract images
var plugin = new ImageExtractor();
// create ImageExtractorOptions
var opt = new ImageExtractorOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output directory
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform extraction process
var resultContainer = plugin.Process(opt);
// get the image from the ResultContainer object
var imageExtracted = resultContainer.ResultCollection[0].ToFile();

Correcciones Menores

  • Mejora de sugerencias de clases y ejemplos.
  • Validación de firma PDF.
  • Mejora del soporte de caracteres chinos.
7 sept. 2026

v24.12

Nuevo Plugin añadido: Convertidor de PDF a PNG

  • Clase PngConverter: Representa el plugin Documentize.PngConverter. Se utiliza para convertir documentos PDF al formato PNG.
  • Clase PdfToPngOptions: Representa las opciones del convertidor de PDF a PNG para el plugin Documentize.PngConverter.

Ejemplo de uso:

// create PngConverter
var plugin = new PngConverter();
// create PdfToPngOptions object to set instructions
var opt = new PdfToPngOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform the process
plugin.Process(opt);

Nuevo Plugin añadido: Convertidor de PDF a TIFF

  • Clase TiffConverter: Representa el plugin Documentize.TiffConverter. Se utiliza para convertir documentos PDF al formato TIFF.
  • Clase PdfToTiffOptions: Representa las opciones del convertidor de PDF a TIFF para el plugin Documentize.TiffConverter.

Ejemplo de uso:

// create TiffConverter
var plugin = new TiffConverter();
// create PdfToTiffOptions object to set instructions
var opt = new PdfToTiffOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform the process
plugin.Process(opt);

Nuevo Plugin añadido: Generador de tablas PDF

  • Clase TableGenerator: Representa el plugin Documentize.TableGenerator. Se utiliza para añadir una tabla a un documento PDF.
  • Clase TableBuilder: Clase que representa el constructor de tablas en una página PDF.
  • Clase TableRowBuilder: Clase que representa el constructor de filas de tabla.
  • Clase TableCellBuilder: Clase que representa el constructor de celdas de tabla.

Ejemplo de uso:

// create TableGenerator
var plugin = new TableGenerator();
// create TableOptions object to set instructions
TableOptions opt = new TableOptions().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
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// perform the process
plugin.Process(opt);

Clase renombrada de PdfDoc a DocConverter

  • Clase DocConverter: Representa el plugin Documentize.DocConverter. Se utiliza para convertir documentos PDF a formato DOC/DOCX.

Ejemplo de uso:

// create DocConverter
var plugin = new DocConverter();
// create PdfToDocOptions object to set instructions
var opt = new PdfToDocOptions();
// add input file path
opt.AddInput(new FileDataSource(inputPath));
// set output file path
opt.AddOutput(new FileDataSource(outputPath));
// perform the process
plugin.Process(opt);
7 sept. 2026

v24.11

Nuevo Plugin añadido: Convertidor de PDF a JPEG

  • Propósito: La clase JpegConverter está diseñada para convertir documentos PDF a formato JPEG, facilitando a los usuarios el manejo y la compartición de imágenes derivadas de PDFs.
  • Constructor:
    • JpegConverter(): Inicializa una nueva instancia del convertidor JPEG.

Ejemplo de uso:

var plugin = new JpegConverter();
var opt = new PdfToJpegOptions();
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
plugin.Process(opt);
  • Método:
    • Process(PdfToJpegOptions options): Inicia el proceso de conversión a JPEG utilizando las opciones especificadas.

Clase añadida DirectoryDataSource

  • Propósito: La clase DirectoryDataSource permite a los usuarios gestionar datos de directorios para operaciones de carga y guardado dentro de los plugins.
  • Constructor:
    • DirectoryDataSource(string path): Inicializa un nuevo objeto de datos de directorio con la ruta especificada.

Ejemplo de uso:

var directorySource = new DirectoryDataSource("path_to_your_directory");
  • Propiedades:
    • DataType: Obtiene el tipo de origen de datos.
    • Path: Obtiene la ruta del directorio de datos actual.

Clase añadida PdfToJpegOptions

  • Propósito: Esta clase contiene opciones para configurar el proceso de conversión a JPEG, permitiendo a los usuarios especificar la resolución, listas de páginas y la calidad de la imagen.
  • Constructor:
    • PdfToJpegOptions(): Inicializa una nueva instancia de opciones para el convertidor JPEG.

Propiedades:

  • OutputResolution: Especifica la resolución de las imágenes JPEG resultantes.
  • PageList: Una lista de páginas a convertir del PDF.
  • Quality: Define la calidad del JPEG de salida.
7 sept. 2026

v24.10

Plugin añadido: Convertidor PDF/A

  • Se ha introducido una nueva función de conversión a PDF/A, que permite a los usuarios convertir fácilmente archivos PDF estándar a documentos compatibles con PDF/A.

Ejemplo de uso:

var options = new PdfAConvertOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_3B
};

options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));

var plugin = new PdfAConverter();
plugin.Process(options);

Corrección de errores

  • Se corrigieron problemas relacionados con la clase FileResult que provocaban rutas de salida incorrectas.
  • Se resolvieron errores menores que afectaban al HtmlConverter al manejar archivos grandes.

Mejoras

  • Se mejoró el rendimiento de PdfExtractor y ImageExtractor para tiempos de procesamiento más rápidos.
  • Se actualizó la clase RotateOptions para soportar ángulos de rotación adicionales.
7 sept. 2026

v24.9

Lanzado

 Español