1. Productos
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for .NET

Aspose.PDF FOSS para .NET

Crea y manipula documentos PDF desde .NET — con anotaciones, campos de formulario, extracción de texto, gestión de páginas, cifrado e importación de HTML/SVG/Markdown. Con licencia MIT.

Biblioteca .NET gratuita con licencia MIT para creación y manipulación de PDF

Aspose.PDF FOSS para .NET es una biblioteca con licencia MIT para crear y trabajar con documentos PDF en C# y .NET. El punto de entrada central es la clase Document, que admite la construcción a partir de ruta de archivo, matriz de bytes, flujo o fuentes protegidas con contraseña, y expone las operaciones Open, Save, Merge, Encrypt, Decrypt y Convert en toda la especificación PDF.

La biblioteca expone 805 clases que cubren la estructura del documento a través de Document, Page y PageCollection; anotaciones enriquecidas mediante AnnotationCollection (incluyendo AddTextAnnotation, AddLinkAnnotation, AddHighlightAnnotation, AddWatermarkAnnotation y AddRedactAnnotation); formularios interactivos con Form, ButtonField, CheckboxField, RadioButtonField y ChoiceField; extracción de texto y búsqueda a través de TextFragmentAbsorber y TextFragment; detección de tablas con AbsorbedTable, AbsorbedRow y AbsorbedCell; y seguridad de documentos mediante Document.Encrypt y Document.Decrypt. La conversión de formatos admite HTML, SVG y la importación de Markdown junto con la exportación a PDF.

Instale Aspose.PDF FOSS para .NET desde NuGet: dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. La biblioteca está totalmente bajo licencia MIT sin tarifas de tiempo de ejecución ni restricciones de uso. Para funciones empresariales y soporte, consulte Aspose.PDF for .NET — Enterprise Product.

Estructura del documento y gestión de páginas

  • Document API: Crear nuevos PDFs con Document() o abrir archivos existentes a través de Document.Open(path), Document.Open(data) o Document.Open(stream).
  • Gestión de páginas: Añadir, acceder y reordenar páginas a través de PageCollection. Cada Page expone Width, Height, MediaBox, rotación y Annotations.
  • Fusionar y dividir: Combina varios archivos con Document.Merge(documents) o Document.MergeDocuments(files). Importa páginas específicas con Document.ImportPage y Document.ImportPages.
  • Metadata: Leer y escribir metadatos del documento a través de DocumentInfo y Document.GetOrCreateMetadata().
  • Serialización: Persistir documentos con Document.Save(filename), Document.Save(stream, format) o Document.ToArray().

Escenarios comunes de procesamiento de documentos

  • PDF generation: Construya documentos programáticamente creando una instancia de Document y poblando páginas con contenido.
  • Análisis de documentos: Abra archivos existentes para inspección de metadatos, medición de dimensiones de página o enumeración de campos de formulario.
  • Manipulación de páginas: Cambiar el tamaño, rotar o reordenar páginas usando Document.ImportPage y la Page API.
  • Fusión por lotes: Ensambla secciones de informes o páginas de facturas en un solo PDF usando Document.MergeDocuments.

Anotaciones y campos de formulario

  • Rich annotation API: AnnotationCollection expone métodos para anotaciones de texto, enlace, resaltado, subrayado, tachado, cuadrado, círculo, línea, tinta, sello, cursor, redactado, marca de agua, polígono y polilínea.
  • Acciones de enlace: Añadir enlaces URI con AddLinkAnnotation(rect, uri) o enlaces internos de salto de página con AddLinkAnnotation(rect, destinationPage, destRect).
  • Formularios interactivos: Acceda al formulario del documento a través de Document.Form para enumerar o crear instancias de ButtonField, CheckboxField, RadioButtonField y ChoiceField.
  • Selección de anotaciones: Filtrar anotaciones por tipo a través de páginas usando AnnotationSelector con sobrecargas por tipo Visit.
  • Banderas de anotación: Controla la visibilidad, impresión y comportamiento de bloqueo mediante AnnotationFlags.

Escenarios de revisión de documentos y colaboración

  • Revisión de marcas: Añadir resaltado, subrayado o anotaciones de texto libre para flujos de trabajo de revisión de documentos.
  • Redacción: Elimine permanentemente las regiones de contenido sensible usando AddRedactAnnotation.
  • Watermarking: Estampe texto CONFIDENTIAL o APPROVED en las páginas con AddWatermarkAnnotation y AddStampAnnotation.
  • Formularios interactivos: Cree documentos rellenables con botones de opción, casillas de verificación y listas de selección para canalizaciones de captura de datos.

Extracción de texto y búsqueda

  • Búsqueda de texto: Utilice TextFragmentAbsorber para localizar todos los fragmentos de texto en una página o en todo un documento, con coincidencia de frase opcional.
  • Propiedades del fragmento: Cada TextFragment expone Text, Position, TextState (fuente, tamaño, color), y rectángulo delimitador.
  • Control del estado del texto: TextFragmentState proporciona acceso a Font, FontSize, ForegroundColor, BackgroundColor, y modo de renderizado.
  • Detección de tablas: Identificar y extraer contenido tabular a través de AbsorbedTable, AbsorbedRow y AbsorbedCell, cada uno proporcionando Rect y TextFragments.

Escenarios de extracción de texto y datos

  • Indexación de contenido: Extrae todo el texto de la página para tuberías de búsqueda de texto completo.
  • Extracción de datos del formulario: Leer los valores de los campos enviados para el procesamiento del lado del servidor.
  • Análisis de facturas: Use AbsorbedTable para analizar datos tabulares de filas y columnas de PDFs financieros.
  • Comparación de marcas: Localice fragmentos de texto específicos para anotaciones o reemplazos precisos basados en la posición.

Seguridad y cifrado

  • Cifrado AES y RC4: Encripte documentos con Document.Encrypt(userPassword, ownerPassword, permissions, algorithm) usando Algorithm.AESx128, AESx256 o RC4x128.
  • Control de permisos: Restringir la impresión, copia y accesibilidad a través de DocumentPrivilege.
  • Gestión de contraseñas: Cambie las contraseñas de usuario y propietario con Document.ChangePasswords.
  • Desencriptado: Eliminar la protección con Document.Decrypt().
  • Firmas digitales: Acceda a los campos de firma y a los datos PKCS#7 a través de los tipos Signature y Algorithm.

Escenarios de seguridad de documentos

  • Distribución confidencial: Encripte los PDFs con contraseñas por destinatario antes de la entrega.
  • Contratos solo de impresión: Aplique contraseñas de propietario con solo impresión DocumentPrivilege para evitar la copia.
  • Archivado de cumplimiento: Eliminar el cifrado de los archivos internos después de la revisión de seguridad.
  • Verificación de firmas: Inspeccione firmas digitales incrustadas en los PDFs recibidos para verificar su autenticidad.

Abrir un PDF, agregar una anotación de enlace y guardar

Abra un PDF existente, adjunte una anotación de enlace URI a la página 1 y guarde el resultado.

using Aspose.Pdf;

var data = System.IO.File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
var page = doc.Pages[1];
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
    new Rectangle(50, 700, 200, 720), action);
using var ms = new System.IO.MemoryStream();
doc.Save(ms);
System.IO.File.WriteAllBytes("output.pdf", ms.ToArray());

Agregar una anotación de marca de agua

Estampe una marca de agua en la página 1 de un documento existente y realice un viaje de ida y vuelta mediante la serialización.

using Aspose.Pdf;
var input = System.IO.File.ReadAllBytes("report.pdf");
using var doc = Document.Open(input);
doc.Pages[1].Annotations.AddWatermarkAnnotation(
    new Rectangle(0, 0, 612, 792), "CONFIDENTIAL");
var saved = doc.ToArray();
System.IO.File.WriteAllBytes("watermarked.pdf", saved);

Extraer fragmentos de texto de una página

Utilice TextFragmentAbsorber para enumerar todos los fragmentos de texto en la primera página.

using Aspose.Pdf;
using Aspose.Pdf.Text;

var data = System.IO.File.ReadAllBytes("document.pdf");
using var doc = Document.Open(data);
var absorber = new TextFragmentAbsorber();
absorber.Visit(doc.Pages[1]);
foreach (var fragment in absorber.TextFragments)
{
    Console.WriteLine(fragment.Text);
}

Preguntas frecuentes

¿Cuál es el modelo de licencia para Aspose.PDF FOSS para .NET?

Aspose.PDF FOSS para .NET se publica bajo la Licencia MIT, permitiendo su uso gratuito en productos comerciales sin tarifas de tiempo de ejecución. El código fuente está disponible públicamente en GitHub.

¿Cómo instalo Aspose.PDF FOSS para .NET?

Instale desde NuGet usando dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. La biblioteca está dirigida a .NET 8 y versiones posteriores sin dependencias nativas.

¿Qué formatos de archivo admite Aspose.PDF FOSS para .NET?

La biblioteca lee y escribe PDF y admite la importación de HTML, SVG y Markdown. También está disponible la exportación raster — las páginas PDF pueden renderizarse a BMP, JPEG, PNG y TIFF.

¿Cómo creo un nuevo documento PDF?

Utilice Document.Create() para crear un documento vacío, luego añada páginas y guarde con Document.Save(stream) o Document.ToArray().

¿Se requiere una clave de licencia para usar Aspose.PDF FOSS para .NET?

No se requiere clave de licencia ni paso de activación. La biblioteca funciona completamente sin licencia y sin costo bajo la Licencia MIT.

  

Recursos de soporte y aprendizaje

 Español