Subsecciones de Novedades
v26.5
Nueva característica: Sanitize para seguridad de PDF
- Limpia datos ocultos de un documento PDF, asegurando que la información sensible o innecesaria como metadatos, archivos 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 limpiar documentos PDF.
- Class SanitizeOptions: representa las opciones de configuración para limpiar 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 de resolución de 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 aplanarse durante el proceso de saneado.
- Property FlattenLayers: Obtiene o establece la opción de aplanar 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.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Perform the process
PdfSecurity.Sanitize(options);
Ejemplo de uso:
El ejemplo muestra cómo Sanitize un PDF de stream a stream.
// Prepare input and output streams
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
using var outputStream = new MemoryStream();
// Create SanitizeOptions object to set input and output streams
var options = new SanitizeOptions(inputStream, outputStream);
// Perform the process
PdfSecurity.Sanitize(options);
Ejemplo de uso:
El ejemplo muestra cómo Sanitize un PDF de archivo a stream.
// Prepare output stream
using var outputStream = new MemoryStream();
// Create SanitizeOptions object to set input file and output stream
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", outputStream);
// Perform the process
PdfSecurity.Sanitize(options);
Ejemplo de uso:
El ejemplo muestra cómo Sanitize un PDF de archivo a stream configurando manualmente las propiedades de entrada y salida.
// Create SanitizeOptions object
var options = new SanitizeOptions();
//Set Input file
options.Input = new FileData("path_to_your_pdf_file.pdf");
//Set Output file
options.Output = new FileData("path_to_result_pdf_file.pdf");
// Perform the process
PdfSecurity.Sanitize(options);
Ejemplo de uso:
El ejemplo muestra cómo Sanitize un PDF sin eliminar los metadatos.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveMetadata = false;
// Perform the process
PdfSecurity.Sanitize(options);
Ejemplo de uso:
El ejemplo muestra cómo Sanitize un PDF sin eliminar los archivos adjuntos.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveAttachments = false;
// Perform the process
PdfSecurity.Sanitize(options);
Ejemplo de uso:
El ejemplo muestra cómo Sanitize un PDF convirtiendo todas las páginas a imágenes y estableciendo la resolución deseada.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Turn on conversion and set dpi
options.ConvertPagesToImages = true;
options.ImageDpi = 200;
// Perform the process
PdfSecurity.Sanitize(options);
Ejemplo de uso:
El ejemplo muestra cómo Sanitize un PDF sin eliminar los JavaScripts y acciones.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveJavaScriptsAndActions = false;
// Perform the process
PdfSecurity.Sanitize(options);
Ejemplo de uso:
El ejemplo muestra cómo Sanitize un archivo PDF de la manera más breve posible.
PdfSecurity.Sanitize(new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf"));
- Representa opciones base para operaciones con 1 dato de entrada y 1 dato de salida.
- Based on 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 del producto actualizada “FAQs” para este sitio
https://docs.documentize.com/faqs/
Otras correcciones
- Solucionado problema de velocidad en la conversión de HTML grande a PDF
- Solucionado PDF a HTML: ocurre OutOfMemoryException
- Solucionado PDF a PDFA: el contenido de la página se corta
- Solucionado PDF a PDFA: problema de renderizado de imágenes transparentes
- Solucionado PDF a PDFA2b: se pierden anotaciones en la salida
- Solucionado PDF a PDF/A - la imagen aparece invertida en el archivo de salida
- Solucionado PDF a PDF/A - el archivo resultante no cumple con PDF/A_2a
- Solucionado PDF a PDF/A - el archivo resultante no cumple con la normativa
- Solucionado PDF a PDF/A - la firma se vuelve negra después de la conversión
- Solucionado PDF a PDF/A - la justificación del texto cambia inesperadamente
- Solucionado PDF a PNG - la conversión tarda demasiado tiempo
- Solucionado PDF a PNG - la imagen de salida es incorrecta
- Solucionado PDF a PNG - la imagen de salida muestra bandas oscuras
- Solucionado Imposibilidad de validar la conformidad PDF/A_1b del documento
v26.4
- Method PdfExtractor.Extract: no lanza una excepción si no se encuentran las fechas Created y Modified en el documento de entrada.
- Property PdfProperties.Created: devuelve null si el valor no se encuentra en el documento de entrada. Tipo de dato cambiado de “DateTime” a “DateTime?”.
- Property PdfProperties.Modified: devuelve null si el valor no se encuentra en el documento de entrada. Tipo de dato cambiado 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 PDF a TIFF
Página de producto creada para “PDF Converter” en este sitio
https://products.documentize.com/pdf-converter/
Otras correcciones
- Corregido HTML a PDF – Rendimiento muy lento con texto HTML grande
- Corregido HTML a PDF – Encabezado y pie de página no aparecen en páginas posteriores
- Corregido HTML a PDF – El tooltip no se renderiza correctamente
- Corregido PDF a DOC – La conversión genera una excepción OutOfMemory
- Corregido PDF a XLS – Las columnas combinadas se unen en una sola columna
- Corregido PDF a HTML – Faltan imágenes de fondo
- Corregido PDF a HTML – Los hipervínculos locales no se muestran
- Corregido PDF a JPEG – La imagen de salida aparece negra
- Corregido PDF a PDF/A – Problemas de formato en el archivo resultante
- Corregido PDF a PDF/A_1b – El archivo resultante no es conforme
- Corregido PDF a PDF/A_3b – Problemas de formato de texto en el archivo de salida
- Corregido PDF a PDF/A-2B – La conversión elimina caracteres matemáticos al usar fuentes OpenType MATH
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 demuestra 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 demuestra 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 demuestra 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);
Se corrigió un error tipográfico en la palabra.
Ejemplo de uso:
El ejemplo demuestra 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/
https://products.documentize.com/pdf-form/
Problemas corregidos
- Se corrigió un problema donde Image to PDF provocaba una excepción de Out of Memory.
- Se corrigió un problema donde la generación de Table of Contents producía resultados incorrectos.
- Se corrigió un problema donde la propiedad OptimizeResources UnembedFonts lanzaba una excepción.
- Se corrigió un problema donde PDF to HTML no aplicaba correctamente las fuentes al visualizarse en Internet Explorer.
- Se corrigió un problema donde PDF to HTML generaba elementos y símbolos de formato desubicados.
- Se corrigió un problema donde el proceso de conversión de PDF a PDF/A se quedaba colgado.
- Se corrigió un problema donde PDF a PDF/A eliminaba los campos de formulario y sus valores.
- Se corrigió un problema donde la salida de PDF a PDF/A no cumplía con PDF/A_1a.
- Se corrigió un problema donde la salida de PDF a PDF/A no cumplía con PDF/A_2b.
- Se corrigió un problema donde la salida de PDF a PDF/A-3A fallaba la verificación de cumplimiento Preflight.
- Se corrigió un problema donde la salida de PDF a PDF/A-3B fallaba la verificación de cumplimiento Preflight.
v26.2
- 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;
- 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 más fácilmente que antes.
- Class ExtractTextOptions: implementa IHaveInput. Usa solo 1 dato de entrada. Tipo 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 el 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 el 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 el 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 archivo Jpeg2000 a PDF falla
- Problema de concatenación de PDF
- El redimensionamiento de página PDF produce salida en blanco
- PDF a HTML: El color resaltado es visible pero falta el texto
- PDF a HTML: Se genera una salida HTML incorrecta
- PDF a HTML: Falta el texto vertical del lado izquierdo
- PDF a HTML: El texto en el encabezado desaparece
- PDF a HTML: El texto anotado transparente no es visible
- PDF a PNG: Algunos caracteres chinos no se renderizan correctamente
v26.1
- Extraer Propiedades del PDF: Título, Autor, Asunto, Palabras clave, Número de páginas.
- Class PdfExtractor: se agregó el método Extract para extraer las 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 metadatos del documento PDF.
- Interface IHaveInput: utilizada para Opciones con un solo dato de entrada.
- Class OptionsWithInput: utilizada para Opciones con un solo 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 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 en el estilo más breve 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.
Corrección de errores
- Se produce un error al intentar optimizar el archivo PDF.
- Problema de alineación vertical de campos de formulario.
- Problema corregido con la visualización de texto japonés en FormField.
- HTML a PDF – Problema de formato de tabla.
- Optimizar el tamaño del PDF antes de la conversión a PDF/A causa salida corrupta.
- PDF a DOC – La tabla se renderiza 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 desaparece al convertir PDF a HTML.
v25.12
- Class PdfForm: contiene todas las funciones de los complementos: 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.
- Ver The New Plugin Architecture.
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 FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
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.
// 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
PdfForm.Extract(options);
Ejemplo de uso:
El ejemplo muestra cómo eliminar campos de un archivo PDF.
// Create RemoveFieldsOptions object to set instructions
var options = new RemoveFieldsOptions();
// 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
PdfForm.Remove(options);
- 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.
// 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.Extract(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.Extract(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();
Ejemplo de uso:
El ejemplo muestra cómo exportar los valores del 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.Extract(options);
Mejoras
- Class PdfConverterOptions, PdfToXlsOptions - usar Class PluginBaseOptions
- Conversión a PDF/A-1b
- Conversión a PDF/A-2b
Errores corregidos
- Se corrigieron problemas de formato en la conversión de HTML a PDF.
- La conversión de PDF a HTML perdió algunos enlaces.
v25.11
Nuevo plugin Convertidor PDF
- Clase PdfConverter: contiene todas las funciones de los plugins: DocConverter, XlsConverter, HtmlConverter, JpegConverter, PdfAConverter, PngConverter, TiffConverter.
- Clase DocConverter: se eliminará pronto, usa PdfConverter.
- Clase XlsConverter: se eliminará pronto, usa PdfConverter.
- Clase HtmlConverter: se eliminará pronto, usa PdfConverter.
- Clase JpegConverter: se eliminará pronto, usa PdfConverter.
- Clase PdfAConverter: se eliminará pronto, usa PdfConverter.
- Clase PngConverter: se eliminará pronto, usa PdfConverter.
- Clase TiffConverter: se eliminará pronto, usa PdfConverter.
- Clase PdfAConvertOptions: renombrada a Clase PdfToPdfAOptions.
- Ve La Nueva Arquitectura de Plugin.
Ejemplo de Uso:
El ejemplo demuestra cómo convertir un documento PDF a formato Doc.
// Crear objeto PdfToDocOptions para establecer instrucciones
var options = new PdfToDocOptions();
// Agregar 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"));
// Realizar el proceso
PdfConverter.Convert(options);
Ejemplo de Uso:
El ejemplo demuestra cómo convertir PDF a documento XLSX.
// Crear objeto PdfToXlsOptions para establecer instrucciones
var options = new PdfToXlsOptions();
// Agregar 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_xlsx_file.xlsx"));
// Realizar el proceso
PdfConverter.Convert(options);
Ejemplo de Uso:
El ejemplo demuestra cómo convertir PDF a documento HTML.
// Crear objeto PdfToHtmlOptions para establecer tipo de datos de salida como archivo con recursos integrados
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Agregar 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"));
// Realizar el proceso
PdfConverter.Convert(options);
Ejemplo de Uso:
El ejemplo demuestra cómo convertir HTML a documento PDF.
// Crear HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Agregar 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"));
// Realizar el proceso
PdfConverter.Convert(options);
Ejemplo de Uso:
El ejemplo demuestra cómo convertir un documento PDF a formato JPEG.
// Crear objeto PdfToJpegOptions para establecer instrucciones
var options = new PdfToJpegOptions();
// Agregar ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Establecer ruta del directorio de salida
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Realizar el proceso
PdfConverter.Convert(options);
Ejemplo de Uso:
El ejemplo demuestra cómo convertir un documento PDF a formato PNG.
// Crear objeto PdfToPngOptions para establecer instrucciones
var options = new PdfToPngOptions();
// Agregar ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Establecer ruta del directorio de salida
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Realizar el proceso
PdfConverter.Convert(options);
Ejemplo de Uso:
El ejemplo demuestra cómo convertir un documento PDF a formato TIFF.
// Crear objeto PdfToTiffOptions para establecer instrucciones
var options = new PdfToTiffOptions();
// Agregar 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_output_directory"));
// Realizar el proceso
PdfConverter.Convert(options);
Ejemplo de Uso:
El ejemplo demuestra cómo convertir el documento PDF en un formato PDF/A (PDF/A-3b en este caso):
// Crear la clase de opciones para establecer el proceso de conversión
var options = new PdfToPdfAOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
// Agregar el archivo fuente
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // reemplazar con la ruta de tu archivo
// Agregar la ruta para guardar el archivo convertido
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// Ejecutar la conversión
PdfConverter.Convert(options);
Ejemplo de Uso:
El ejemplo demuestra cómo validar la conformidad del documento PDF al formato PDF/A (PDF/A-1a en este caso):
// Crear la clase de opciones para establecer el proceso de validación
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Agregar uno o más archivos a validar
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // reemplazar con la ruta de tu archivo
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// agregar más archivos según sea necesario
// Ejecutar la validación y obtener resultados
var resultContainer = PdfConverter.Validate(options);
// Verificar la propiedad resultContainer.ResultCollection para 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 i-ésimo documento
}
Nuevo plugin Seguridad PDF
- Clase PdfSecurity: contiene todas las funciones de los plugins: Security, Signature, Timestamp.
- Clase Security: se eliminará pronto, usa PdfSecurity.
- Clase Signature: se eliminará pronto, usa PdfSecurity.
- Clase Timestamp: se eliminará pronto, usa PdfSecurity.
- Clase DecryptionOptions: renombrada a Clase DecryptOptions.
- Clase EncryptionOptions: renombrada a Clase EncryptOptions.
- Clase SignOptions: ahora tiene propiedades para Clase Timestamp.
- Ve La Nueva Arquitectura de Plugin.
Ejemplo de Uso:
El ejemplo demuestra cómo cifrar un documento PDF.
// Crear objeto EncryptOptions para establecer instrucciones
var options = new EncryptOptions("123456", "qwerty");
// Agregar 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"));
// Realizar el proceso
PdfSecurity.Encrypt(options);
Ejemplo de Uso:
El ejemplo demuestra cómo descifrar un documento PDF.
// Crear objeto DecryptOptions para establecer instrucciones
var options = new DecryptOptions("123456");
// Agregar 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"));
// Realizar el proceso
PdfSecurity.Decrypt(options);
Ejemplo de Uso:
El ejemplo demuestra cómo firmar un documento PDF.
// Crear objeto SignOptions para establecer instrucciones
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Agregar 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"));
// Realizar el proceso
PdfSecurity.Sign(options);
Ejemplo de Uso:
El ejemplo demuestra cómo firmar un documento PDF con Timestamp.
// Crear objeto SignOptions para establecer instrucciones
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file");
options.TimestampOptions = new TimestampOptions("server_url");
// Agregar 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"));
// Realizar el proceso
PdfSecurity.Sign(options);
Plugin PdfChatGpt integrado en PdfManager
- Clase PdfChatGpt: se eliminará pronto, usa PdfManager.
- Clase PdfChatGptRequestOptions: renombrada a Clase ChatGptRequestOptions.
Nuevas opciones disponibles para trabajar con ChatGpt
- Clase ChatCompletion: permite comprobar los resultados de la solicitud.
- Clase Choice: permite comprobar los resultados de la solicitud.
- Clase Usage: permite comprobar los resultados de la solicitud.
- Clase ChatGptConsts: permite usar configuraciones adicionales como ModelName, URL de API y otras.
Ejemplo de Uso:
El ejemplo demuestra cómo usar ChatGpt agregando mensajes a la solicitud.
var options = new ChatGptRequestOptions();
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
options.ApiKey = "Your API key."; // Debes proporcionar la clave para acceder a la API.
options.MaxTokens = 1000; // El número máximo de tokens a generar en la finalización del chat.
// Agregar los mensajes de la solicitud.
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
});
// Procesar la solicitud.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // El objeto de finalización de chat de la API de ChatGPT.
Mejoras
- PDF a Imagen - Mejorar rendimiento de conversión
- PDF a TIFF - Mejorar velocidad de conversión
- PDF a Doc - Mejorar rendimiento
Bugs 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 - Archivo CSS como Recurso Externo no aplicado al archivo PDF generado
v25.10
- Class PdfExtractor: contiene todas las funciones de los plugins: TextExtractor, ImageExtractor, FormExporter.
- Class TextExtractor: será eliminado pronto, usa PdfExtractor.
- Class ImageExtractor: será eliminado pronto, usa PdfExtractor.
- Class FormExporter: será eliminado pronto, usa PdfExtractor.
- Class TextExtractorOptions: renombrado a Class ExtractTextOptions.
- Class ImageExtractorOptions: renombrado a Class ExtractImagesOptions.
- Class FormExportToDsvOptions: renombrado a Class ExtractFormDataToDsvOptions.
- Ver La Nueva Arquitectura de Plugins.
Ejemplo de Uso:
El ejemplo demuestra cómo extraer el contenido de texto de un documento PDF.
// Crear objeto ExtractTextOptions para establecer instrucciones
var options = new ExtractTextOptions();
// Agregar ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Realizar el proceso
var results = PdfExtractor.ExtractText(options);
// Obtener el texto extraído del objeto ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Ejemplo de Uso:
El ejemplo demuestra cómo extraer contenido de texto de un documento PDF con TextFormattingMode.
// Crear objeto ExtractTextOptions para establecer TextFormattingMode
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// Agregar ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Realizar el proceso
var results = PdfExtractor.ExtractText(options);
// Obtener el texto extraído del objeto ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Ejemplo de Uso:
El ejemplo demuestra cómo extraer imágenes de un documento PDF.
// Crear ExtractImagesOptions para establecer instrucciones
var options = new ExtractImagesOptions();
// Agregar ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer la ruta del directorio de salida
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Realizar el proceso
var results = PdfExtractor.ExtractImages(options);
// Obtener la ruta de la imagen resultante
var imageExtracted = results.ResultCollection[0].ToFile();
Ejemplo de Uso:
El ejemplo demuestra cómo Exportar valores de formulario a un archivo CSV.
// Crear objeto ExtractFormDataToDsvOptions para establecer instrucciones
var options = new ExtractFormDataToDsvOptions(',', true);
// Agregar 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"));
// Realizar el proceso
PdfExtractor.ExtractFormData(options);
Nuevo plugin Administrador de PDF
- Class PdfManager: contiene todas las funciones de los plugins: Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
- Class Merger: será eliminado pronto.
- Class Optimizer: será eliminado pronto, usa PdfManager.
- Class Splitter: será eliminado pronto, usa PdfManager.
- Class TableGenerator: será eliminado pronto, usa PdfManager.
- Class TocGenerator: será eliminado pronto, usa PdfManager.
- Ver La Nueva Arquitectura de Plugins.
Ejemplo de Uso:
El ejemplo demuestra cómo combinar dos documentos PDF.
// Crear objeto MergeOptions para establecer instrucciones
var options = new MergeOptions();
// Agregar rutas de archivos de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realizar el proceso
PdfManager.Merge(options);
Ejemplo de Uso:
El ejemplo demuestra cómo dividir un documento PDF.
// Crear objeto SplitOptions para establecer instrucciones
var options = new SplitOptions();
// Agregar ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer rutas de archivos de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Realizar el proceso
PdfManager.Split(options);
Ejemplo de Uso:
El ejemplo demuestra cómo optimizar un documento PDF.
// Crear objeto OptimizeOptions para establecer instrucciones
var options = new OptimizeOptions();
// Agregar 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"));
// Realizar el proceso
PdfManager.Optimize(options);
Ejemplo de Uso:
El ejemplo demuestra cómo rotar un documento PDF.
// Crear objeto RotateOptions para establecer instrucciones
var options = new RotateOptions();
// Establecer nueva rotación
options.Rotation = Rotation.On90;
// Agregar 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"));
// Realizar el proceso
PdfManager.Rotate(options);
Ejemplo de Uso:
El ejemplo demuestra cómo cambiar el tamaño de un documento PDF.
// Crear objeto ResizeOptions para establecer instrucciones
var options = new ResizeOptions();
// Establecer nuevo tamaño de página
options.PageSize = PageSize.A3;
// Agregar 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"));
// Realizar el proceso
PdfManager.Resize(options);
Ejemplo de Uso:
El ejemplo demuestra cómo comprimir un documento PDF.
// Crear objeto CompressOptions para establecer instrucciones
var options = new CompressOptions();
// Agregar 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"));
// Realizar el proceso
PdfManager.Compress(options);
Ejemplo de Uso:
El ejemplo demuestra cómo agregar una tabla a un archivo PDF.
// Configurar opciones de tabla
var options = new TableOptions();
options.InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Nombre")
.AddCell().AddParagraph("Edad")
.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");
// Agregar 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.pdf"));
// Realizar el proceso
PdfManager.AddTable(options);
Ejemplo de Uso:
El ejemplo demuestra cómo agregar una tabla de contenido a un archivo PDF.
// Crear objeto TocOptions para establecer instrucciones
var options = new TocOptions();
// Establecer el Título
options.Title = "Mi Tabla de Contenidos";
// Diseñar Encabezados
options.Headings.Add(new TocHeading("Introducción", 2));
options.Headings.Add(new TocHeading("Capítulo I", 3));
options.Headings.Add(new TocHeading("Capítulo II", 4));
options.Headings.Add(new TocHeading("Capítulo III", 5));
// Agregar 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"));
// Realizar el proceso
PdfManager.AddTableOfContents(options);
Ejemplo de Uso:
El ejemplo demuestra cómo agregar una tabla de contenido a un archivo PDF con generación de marcadores.
// Crear objeto TocOptions para establecer instrucciones
var options = new TocOptions();
// Establecer el Título
options.Title = "Mi Tabla de Contenidos";
// Generar enlaces en marcadores
options.GenerateBookmarks = true;
// Diseñar Encabezados
options.Headings.Add(new TocHeading("Introducción", 2, false, 1));
options.Headings.Add(new TocHeading("Capítulo I", 3, true, 1));
options.Headings.Add(new TocHeading("Capítulo II", 4, true, 1));
options.Headings.Add(new TocHeading("Ejemplo A", 4, true, 2));
options.Headings.Add(new TocHeading("Ejemplo B", 4, true, 2));
options.Headings.Add(new TocHeading("Ejemplo C", 4, true, 2));
options.Headings.Add(new TocHeading("Ejemplo D", 4, true, 2));
options.Headings.Add(new TocHeading("Capítulo III", 5, true, 1));
// Agregar 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"));
// Realizar el proceso
PdfManager.AddTableOfContents(options);
Ejemplo de Uso:
El ejemplo demuestra cómo agregar una tabla de contenido a un archivo PDF y guardarlo como un flujo.
// Crear objeto TocOptions para establecer instrucciones
var options = new TocOptions();
// Establecer el Título
options.Title = "Mi Tabla de Contenidos";
// Diseñar Encabezados
options.Headings.Add(new TocHeading("Introducción", 2, false, 1));
// Agregar ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer flujo de salida
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// Realizar el proceso
PdfManager.AddTableOfContents(options);
Mejora de la usabilidad de TableGenerator
- Class TableGenerator: es estático y no requiere el uso de un constructor.
- Class TableGenerator: marcada como Obsoleta. Usa PdfManager en su lugar.
Mejora de la usabilidad de PdfChatGpt
- Class PdfChatGpt: es estática y no requiere el uso de un constructor.
- Class PdfChatGptRequestOptions: se agregó la propiedad CancellationToken (Movida de PdfChatGpt).
Ejemplo de Uso:
El ejemplo demuestra cómo usar el plugin PdfChatGpt agregando mensajes a la solicitud.
var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // Agrega la ruta del archivo de salida.
options.ApiKey = "Tu clave API."; // Necesitas proporcionar la clave para acceder a la API.
options.MaxTokens = 1000; // El número máximo de tokens a generar en la finalización del chat.
// para cancelar
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;
// Agregar los mensajes de solicitud.
options.Messages.Add(new Message
{
Content = "Eres un asistente útil.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "¿Cuál es el diámetro de pizza más grande jamás hecho?",
Role = Role.User
});
// Procesar la solicitud.
await PdfChatGpt.ProcessAsync(options);
Errores corregidos
- Corregida la conversión de html a pdf metadata
- Corregidos problemas de formato de texto y escalado de imágenes en PDF a PDF/A_3b
- Corregido el error de informe en la impresión del PDF a PDFA resultante
- Corregida la imagen resultante en PDF a HTML que contiene fondo
- Corregidos caracteres chinos que aparecen como cajas en HTML a PDF
- Corregido el font custom Base64 no honrado en HTML a PDF
- Corregido el CSS de campo de formulario no se aplica en HTML a PDF
- Corregido el gráfico que no se renderiza correctamente en HTML a PDF
- Corregidos caracteres especiales que no se representan en HTML a PDF
v25.9
- Clase DocConverter: es estática y no requiere el uso de un constructor.
- Clase PdfToDocOptions: se agregó la propiedad “Modo” que permite personalizar el proceso de conversión.
- Enum DocConversionMode: permite personalizar el proceso de conversión de pdf-doc. Valores:
- TextBox: Este modo es rápido y bueno para preservar al máximo la apariencia original del archivo PDF, pero la editabilidad del documento resultante podría ser limitada. Cada bloque de texto agrupado visualmente en el archivo PDF original se convierte en un cuadro de texto en el documento resultante.
- Flow: Modo de reconocimiento completo, el motor realiza agrupaciones y análisis multinivel para restaurar la intención original del autor del documento y producir un documento maximalmente editable.
Ejemplo de uso:
// El ejemplo demuestra cómo convertir un documento PDF a formato Doc.
// Crear un objeto PdfToDocOptions para establecer instrucciones
var options = new PdfToDocOptions();
// Agregar 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"));
// Realizar el proceso
DocConverter.Process(options);
Ejemplo de uso:
// El ejemplo demuestra cómo convertir un documento PDF a formato Doc estableciendo Modo.
// Crear un objeto PdfToDocOptions para establecer instrucciones
var options = new PdfToDocOptions();
// Agregar 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 Modo
options.Mode = DocConversionMode.Flow;
// Realizar el proceso
DocConverter.Process(options);
Mejora de la usabilidad de PdfAConverter
Clase PdfAConverter: es estática y no requiere el uso de un constructor.
Ejemplo de uso:
// El ejemplo demuestra 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
};
// Agregar el archivo fuente
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // reemplace con la ruta de su archivo real
// Agregar la ruta para 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 demuestra cómo validar la conformidad del documento PDF al 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
};
// Agregar uno o más archivos para validar
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // reemplace con la ruta de su archivo real
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// agregar más archivos según sea necesario
// Ejecutar la validación y obtener resultados
var resultContainer = PdfAConverter.Process(options);
// Verifique la propiedad resultContainer.ResultCollection para los resultados de la 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
}
Mejora de la usabilidad de Timestamp
Clase Timestamp: es estática y no requiere el uso de un constructor.
Ejemplo de uso:
// El ejemplo demuestra cómo agregar un Timestamp al documento.
// Crear un objeto AddTimestampOptions para establecer instrucciones
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// Agregar 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"));
// Realizar el proceso
Timestamp.Process(options);
Documentación actualizada
Ejemplos actualizados, se agregaron ejemplos adicionales:
- Información sobre licencia y evaluación
- Páginas de productos
- Generador de tablas PDF
- Generador de TOC PDF
- Agregador de timestamps PDF
- Convertidor PDF/A
- Extractor de imágenes PDF
- Extractor de texto PDF
- Convertidor de PDF a XLS
- Convertidor de PDF a HTML
Errores corregidos
- Se corrigieron problemas con HTML a PDF
- Se corrigieron problemas con PDF a PDF/A-2B
- Mejora en PDF a JPEG: algunos caracteres de texto generados como cuadrados
- Se corrigió la renderización de PDF a TIFF
- Se corrigieron excepciones inesperadas de PDF a JPEG
v25.8
Mejora de la usabilidad de JpegConverter
Class JpegConverter: es estático y no requiere el uso de un constructor.
Ejemplo de uso:
// El ejemplo demuestra cómo convertir un documento PDF a formato JPEG.
// Crear un objeto PdfToJpegOptions para establecer las instrucciones
var options = new PdfToJpegOptions();
// Agregar la ruta del archivo de entrada
options.AddInput(new FileDataSource("ruta_al_archivo_de_entrada.pdf"));
// Establecer la ruta del directorio de salida
options.AddOutput(new DirectoryDataSource("ruta_al_directorio_de_salida"));
// Realizar el proceso
JpegConverter.Process(options);
Mejora de la usabilidad de PngConverter
Class PngConverter: es estático y no requiere el uso de un constructor.
Ejemplo de uso:
// El ejemplo demuestra cómo convertir un documento PDF a formato PNG.
// Crear un objeto PdfToPngOptions para establecer las instrucciones
var options = new PdfToPngOptions();
// Agregar la ruta del archivo de entrada
options.AddInput(new FileDataSource("ruta_al_archivo_de_entrada.pdf"));
// Establecer la ruta del directorio de salida
options.AddOutput(new DirectoryDataSource("ruta_al_directorio_de_salida"));
// Realizar el proceso
PngConverter.Process(options);
Mejora de la usabilidad de XlsConverter
- Class XlsConverter: es estático y no requiere el uso de un constructor.
- Class XlsConverter: descripción corregida.
Ejemplo de uso:
// El ejemplo demuestra cómo convertir un PDF a un documento XLSX.
// Crear un objeto PdfToXlsOptions para establecer las instrucciones
var options = new PdfToXlsOptions();
// Agregar la ruta del archivo de entrada
options.AddInput(new FileDataSource("ruta_a_tu_archivo_pdf.pdf"));
// Establecer la ruta del archivo de salida
options.AddOutput(new FileDataSource("ruta_al_archivo_resultante_xlsx.xlsx"));
// Realizar el proceso
XlsConverter.Process(options);
Mejora de la usabilidad de Signature
- Class Signature: es estático y no requiere el uso de un constructor.
- Class Signature: descripción corregida.
- Class Signature: interfaz IPlugin eliminada.
Ejemplo de uso:
// El ejemplo demuestra cómo firmar un documento PDF.
// Crear un objeto SignOptions para establecer las instrucciones
var options = new SignOptions("ruta_a_tu_archivo_pfx.pfx", "contraseña_de_tu_archivo_pfx");
// Agregar la ruta del archivo de entrada
options.AddInput(new FileDataSource("ruta_a_tu_archivo_pdf.pdf"));
// Establecer la ruta del archivo de salida
options.AddOutput(new FileDataSource("ruta_al_archivo_pdf_resultante.pdf"));
// Realizar el proceso
Signature.Process(options);
Constructores de PdfToHtmlOptions modificados
Constructores y argumentos optimizados.
Texto de la marca de evaluación cambiado.
Documentación actualizada
Ejemplos actualizados, se añadieron ejemplos adicionales:
- Conversor de PDF a JPEG
- Conversor de PDF a PNG
- Conversor de PDF a TIFF
- Aplanador de formularios PDF
- Conversor HTML
- Seguridad de PDF
- Optimizador de PDF
- Fusionador de PDF
- Divisor de PDF
Errores corregidos
- Arreglar problemas con Anotaciones
- Arreglar problemas tras el redimensionamiento
- Arreglar la transformación de nombres de fuentes de PDF a PDF/A
- Arreglar PDF a DOCX - Se agrega espacio en el encabezado y otros problemas
- Arreglar HTML a PDF - Fondo transparente PNG
- Arreglar PDF comprimido - Mejorar el trabajo con Adobe Acrobat
v25.7
- Class TextExtractor: es estático y no requiere el uso de un constructor.
- Class TextExtractor: comportamiento mejorado al ejecutarse en modo de evaluación. Sin excepción con documentos de más de 4 páginas.
- Class TextExtractor: se solucionaron problemas en el método Process.
- Class PdfExtractorOptions: eliminado.
- Class TextExtractorOptions: reestructurado.
- Enum TextFormattingMode: renombrado y mejorado.
Ejemplo de Uso:
// El ejemplo demuestra cómo extraer el contenido de texto de un documento PDF.
// Crear un objeto TextExtractorOptions para establecer instrucciones
var options = new TextExtractorOptions(TextFormattingMode.Pure);
// Agregar ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Realizar el proceso
var results = TextExtractor.Process(options);
// Obtener el texto extraído del objeto ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Mejora en la usabilidad del Conversor Html
- Class HtmlConverter: es estático y no requiere el uso de un constructor.
- Class HtmlConverter: se solucionaron problemas en el método Process.
- Class HtmlConverter: eliminada la lógica de IDisposable.
- Class PdfConverterOptions: eliminado.
Ejemplos de Uso:
// El ejemplo demuestra cómo convertir un PDF a un documento HTML.
// Crear un objeto PdfToHtmlOptions para establecer el tipo de datos de salida como archivo con recursos integrados
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Agregar 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"));
// Realizar el proceso
HtmlConverter.Process(options);
// El ejemplo demuestra cómo convertir un HTML a un documento PDF.
// Crear HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Agregar 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"));
// Realizar el proceso
HtmlConverter.Process(options);
- Class ImageExtractor: es estático y no requiere el uso de un constructor.
Ejemplo de Uso:
// El ejemplo demuestra cómo extraer imágenes de un documento PDF.
// Crear ImageExtractorOptions para establecer instrucciones
var options = new ImageExtractorOptions();
// Agregar 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"));
// Realizar el proceso
var results = ImageExtractor.Process(options);
// Obtener la ruta de la imagen resultante
var imageExtracted = results.ResultCollection[0].ToFile();
Reparaciones Menores
- Reparaciones internas.
- Se corrigieron ejemplos y sugerencias del Conversor Tiff.
- Se minimizó la duración de la optimización de página.
- Corregido: imagen de salida incorrecta de conversión de PDF a PNG.
- Corregido: caracteres chinos no se mostraban correctamente durante la conversión de PDF a PNG.
- Mejorado: Rendimiento durante la conversión de PDF a HTML.
v25.6
Mejora de la usabilidad del Convertidor Tiff
- Class PdfToTiffOptions: Se añadió un parámetro adicional para la conversión - Compresión.
- Class PdfToTiffOptions: Se añadió un parámetro adicional para la conversión - ColorDepth.
- Class TiffConverter es estático y no requiere el uso de un constructor.
- Mejores ejemplos principales.
Ejemplos de Uso:
// El ejemplo demuestra cómo convertir un documento PDF en formato TIFF.
// Crear objeto PdfToTiffOptions para establecer instrucciones
var options = new PdfToTiffOptions();
// Agregar 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_output_directory"));
// Realizar el proceso
TiffConverter.Process(options);
// El ejemplo demuestra cómo convertir un documento PDF en formato TIFF con parámetros adicionales.
// Crear objeto PdfToTiffOptions para establecer instrucciones
var options = new PdfToTiffOptions();
// Agregar 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_output_directory"));
// Parámetros opcionales
options.PageList = new List<int> { 1, 3 };
options.MultiPage = true;
options.OutputResolution = 400;
options.Compression = TiffCompression.RLE;
options.ColorDepth = TiffColorDepth.Format24bpp;
// Realizar el proceso
TiffConverter.Process(options);
Correcciones Menores
v25.5
- Clase FormExporter: Representa el plugin Documentize.FormExporter que se utiliza para exportar valores de formularios de documentos PDF a archivos DSV o CSV.
- Clase FormExportToDsvOptions: Representa opciones para exportar valores de documentos PDF a archivos DSV o CSV mediante el plugin Documentize.FormExporter.
Ejemplo de Uso:
// El ejemplo demuestra cómo exportar valores de formularios a un archivo CSV.
// Crear un objeto FormExportToDsvOptions para establecer instrucciones
var options = new FormExportToDsvOptions(',', true);
// Agregar 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"));
// Realizar el proceso
FormExporter.Process(options);
Mejora en la Usabilidad de Seguridad
- La clase es estática y no requiere el uso de un constructor.
- Mejora en los ejemplos principales.
Ejemplos de Uso:
// El ejemplo demuestra cómo cifrar un documento PDF.
// Crear un objeto EncryptionOptions para establecer instrucciones
var options = new EncryptionOptions("123456", "qwerty");
// Agregar 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"));
// Realizar el proceso
Security.Process(options);
// El ejemplo demuestra cómo descifrar un documento PDF.
// Crear un objeto DecryptionOptions para establecer instrucciones
var options = new DecryptionOptions("123456");
// Agregar 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"));
// Realizar el proceso
Security.Process(options);
Correcciones Menores
- Mejora en las sugerencias de clases y licencias.
v25.4
Mejora de la usabilidad del Optimizador
- La clase es estática y no requiere el uso de un constructor.
- Ejemplo principal mejorado.
- Se añadieron ejemplos adicionales.
Uso de Ejemplos:
// El ejemplo demuestra cómo optimizar un documento PDF.
// Crear un objeto OptimizeOptions para establecer instrucciones
var options = new OptimizeOptions();
// 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"));
// Realizar el proceso
Optimizer.Process(options);
// El ejemplo demuestra cómo rotar un documento PDF.
// Crear un objeto RotateOptions para establecer instrucciones
var options = new RotateOptions();
// Establecer nueva Rotación
options.Rotation = Rotation.On90;
// 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"));
// Realizar el proceso
Optimizer.Process(options);
// El ejemplo demuestra cómo redimensionar un documento PDF.
// Crear un objeto ResizeOptions para establecer instrucciones
var options = new ResizeOptions();
// Establecer nuevo Tamaño de Página
options.PageSize = PageSize.A3;
// 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"));
// Realizar el proceso
Optimizer.Process(options);
// El ejemplo demuestra cómo comprimir un documento PDF.
// Crear un objeto CompressOptions para establecer instrucciones
var options = new CompressOptions();
// 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"));
// Realizar el proceso
Optimizer.Process(options);
Mejora de la usabilidad del Plugin Divisor
- La clase es estática y no requiere el uso de un constructor.
- Ejemplo principal mejorado.
Uso de Ejemplos:
// El ejemplo demuestra cómo dividir un documento PDF.
// Crear un objeto SplitOptions para establecer instrucciones
var options = new SplitOptions();
// Añadir la ruta del archivo de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Establecer las rutas de los archivos de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Realizar el proceso
Splitter.Process(options);
Mejora de la usabilidad del Plugin Combinador
- La clase es estática y no requiere el uso de un constructor.
- Ejemplo principal mejorado.
Uso de Ejemplos:
// El ejemplo demuestra cómo combinar dos documentos PDF.
// Crear un objeto MergeOptions para establecer instrucciones
var options = new MergeOptions();
// Añadir las rutas de los archivos de entrada
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Establecer la ruta del archivo de salida
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Realizar el proceso
Merger.Process(options);
Soluciones Menores
- Mejora de pistas de clase.
v25.3
- Clase FormFlattener: Representa el plugin Documentize.FormFlattener que se utiliza para aplanar campos en documentos PDF.
- Clase FormFlattenerOptions: Representa las opciones para Aplanar Campos en documentos por el plugin Documentize.FormFlattener.
Ejemplo de Uso:
//El ejemplo demuestra cómo aplanar campos en un archivo PDF.
// Crear objeto FormFlattenerOptions para establecer instrucciones
var options = new FormFlattenerOptions();
// Agregar 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");
// Realizar el proceso
FormFlattener.Process(options);
//El ejemplo demuestra cómo obtener nombres de campos de un archivo PDF.
var fieldNames = FormFlattener.GetFieldNames("path_to_your_pdf_file.pdf");
Correcciones Menores
- Mejora en las sugerencias de clase y ejemplos.
v25.2
Nuevo Plugin Agregado: Generador de TOC
- Class TocGenerator: Representa el plugin Documentize.TocGenerator. Se utiliza para agregar una Tabla de Contenidos a documentos PDF.
- Class TocOptions: Representa las opciones para agregar 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 del documento mediante el plugin Documentize.TocGenerator.
Ejemplo de Uso:
// El ejemplo demuestra cómo agregar una Tabla de Contenidos a un archivo PDF.
var options = new TocOptions();
// Establecer el Título
options.Title = "Mi Tabla de Contenidos";
// Generar vínculos en marcadores
options.GenerateBookmarks = true;
// Diseñar Encabezados
options.Headings.Add(new TocHeading("Introducción", 2, false, 1));
options.Headings.Add(new TocHeading("Capítulo I", 3, true, 1));
options.Headings.Add(new TocHeading("Capítulo II", 4, true, 1));
options.Headings.Add(new TocHeading("Ejemplo A", 4, true, 2));
options.Headings.Add(new TocHeading("Ejemplo B", 4, true, 2));
options.Headings.Add(new TocHeading("Ejemplo C", 4, true, 2));
options.Headings.Add(new TocHeading("Ejemplo D", 4, true, 2));
options.Headings.Add(new TocHeading("Capítulo III", 5, true, 1));
// Agregar ruta del archivo de entrada
options.AddInput(new FileDataSource("ruta_a_tu_archivo_pdf.pdf"));
// Establecer ruta del archivo de salida
options.AddOutput(new FileDataSource("ruta_a_archivo_pdf_resultante.pdf"));
// Ejecutar el proceso
TocGenerator.Process(options);
Correcciones Menores
- Mejora de sugerencias y ejemplos de clases.
- Actualización de marcas de agua.
- Mejora de la conversión de PDF a XSLX.
- Mejora de la conversión de PDF a PDF/A-1a.
v25.1
- Se añadió la Colección de Salida a ImageExtractorOptions.
- Se agregó soporte para múltiples Entradas en ImageExtractorOptions.
- Se corrigieron flujos de salida cerrados.
Ejemplo de Uso:
// crear objeto ImageExtractor para extraer imágenes
var plugin = new ImageExtractor();
// crear ImageExtractorOptions
var opt = new ImageExtractorOptions();
// añadir ruta del archivo de entrada
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// establecer directorio de salida
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// realizar el proceso de extracción
var resultContainer = plugin.Process(opt);
// obtener la imagen del objeto ResultContainer
var imageExtracted = resultContainer.ResultCollection[0].ToFile();
Correcciones Menores
- Mejora de pistas y ejemplos de clase.
- Validación de firmas PDF.
- Mejora del soporte para caracteres chinos.
v24.12
Nuevo plugin añadido: Convertidor de PDF a PNG
- Clase PngConverter: Representa el plugin Documentize.PngConverter. Se utiliza para convertir documentos PDF en formato PNG.
- Clase PdfToPngOptions: Representa las opciones de conversión de PDF a PNG para el plugin Documentize.PngConverter.
Ejemplo de uso:
// crear PngConverter
var plugin = new PngConverter();
// crear objeto PdfToPngOptions para establecer instrucciones
var opt = new PdfToPngOptions();
// añadir ruta del archivo de entrada
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// establecer ruta del archivo de salida
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// realizar el proceso
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 en formato TIFF.
- Clase PdfToTiffOptions: Representa las opciones de conversión de PDF a TIFF para el plugin Documentize.TiffConverter.
Ejemplo de uso:
// crear TiffConverter
var plugin = new TiffConverter();
// crear objeto PdfToTiffOptions para establecer instrucciones
var opt = new PdfToTiffOptions();
// añadir ruta del archivo de entrada
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// establecer ruta del archivo de salida
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// realizar el proceso
plugin.Process(opt);
Nuevo plugin añadido: Generador de Tablas para PDF
- Clase TableGenerator: Representa el plugin Documentize.TableGenerator. Se utiliza para añadir una tabla a un documento PDF.
- Clase TableBuilder: Clase que representa un constructor para la tabla en la página pdf.
- Clase TableRowBuilder: Clase que representa un constructor para la fila de la tabla.
- Clase TableCellBuilder: Clase que representa un constructor para la celda de la tabla.
Ejemplo de uso:
// crear TableGenerator
var plugin = new TableGenerator();
// crear objeto TableOptions para establecer instrucciones
TableOptions opt = new TableOptions().InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Nombre")
.AddCell().AddParagraph("Edad")
.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");
// añadir ruta del archivo de entrada
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// establecer ruta del archivo de salida
opt.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// realizar el proceso
plugin.Process(opt);
Renombrada la clase PdfDoc a DocConverter
- Clase DocConverter: Representa el plugin Documentize.DocConverter. Se utiliza para convertir documentos PDF en formato DOC/DOCX.
Ejemplo de uso:
// crear DocConverter
var plugin = new DocConverter();
// crear objeto PdfToDocOptions para establecer instrucciones
var opt = new PdfToDocOptions();
// añadir ruta del archivo de entrada
opt.AddInput(new FileDataSource(inputPath));
// establecer ruta del archivo de salida
opt.AddOutput(new FileDataSource(outputPath));
// realizar el proceso
plugin.Process(opt);
v24.11
Se agregó un nuevo Plugin: Conversor de PDF a JPEG
- Propósito: La clase
JpegConverter está diseñada para convertir documentos PDF en formato JPEG, facilitando a los usuarios el manejo y compartición de imágenes derivadas de PDFs. - Constructor:
JpegConverter(): Inicializa una nueva instancia del conversor JPEG.
Ejemplo de Uso:
var plugin = new JpegConverter();
var opt = new PdfToJpegOptions();
opt.AddInput(new FileDataSource("ruta_a_tu_archivo_pdf.pdf"));
opt.AddOutput(new DirectoryDataSource("ruta_al_directorio_de_resultados"));
plugin.Process(opt);
- Método:
Process(PdfToJpegOptions options): Inicia el proceso de conversión a JPEG utilizando las opciones especificadas.
Se agregó la Clase 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("ruta_a_tu_directorio");
- Propiedades:
DataType: Recupera el tipo de fuente de datos.Path: Obtiene la ruta del directorio de datos actual.
Se agregó la Clase PdfToJpegOptions
- Propósito: Esta clase contiene opciones para configurar el proceso de conversión a JPEG, permitiendo a los usuarios especificar resolución, listas de páginas y calidad de imagen.
- Constructor:
PdfToJpegOptions(): Inicializa una nueva instancia de opciones para el conversor JPEG.
Propiedades:
OutputResolution: Especifica la resolución de las imágenes JPEG resultantes.PageList: Una lista de páginas para convertir desde el PDF.Quality: Establece la calidad de la salida JPEG.
v24.10
Nuevo 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 en 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 han solucionado problemas relacionados con la clase
FileResult que resultaban en 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.
v24.9
Liberado