1. Productos
  2.   PDF
  3.   .NET
  4.   PDFsharp

PDFsharp

 
 

API .NET de código abierto para el procesamiento de PDF

Cree, manipule, convierta y procese documentos PDF a través de la biblioteca C# .NET gratuita.

¿Qué es PDFsharp?

Biblioteca .NET de código abierto que se puede utilizar para crear, renderizar, fusionar, dividir, modificar, imprimir y extraer texto o metadatos de archivos PDF. La API de PDFsharp admite la creación de documentos PDF sobre la marcha desde cualquier lenguaje .NET. También admite la importación de datos de varias fuentes a través de archivos XML o interfaces directas. Admite numerosas opciones de diseño de página, formato de texto y diseño de documentos.

PDFsharp proporciona una implementación gráfica basada en GDI+ o WPF. La API facilita el trabajo del desarrollador al proporcionar funciones para usar un código fuente para dibujar en una página PDF, así como en una ventana o en la impresora. Es compatible con varias características importantes para el procesamiento de archivos PDF, como la modificación de PDF, la combinación o división de PDF, la conversión de XPS a PDF, la representación de PDF, la extracción de datos de PDF, la incrustación y creación de subconjuntos de fuentes, la compatibilidad con Unicode y muchas más.

Previous Next

Primeros pasos con PDFsharp

PDFsharp tiene licencia dual como software comercial/AGPL. AGPL es una licencia de software libre/de código abierto.

Se recomienda usar NuGet para agregar PDFsharp a su proyecto,

Comando NuGet

 Install-Package PdfSharp

Con Visual Studio, puede instalar el Administrador de paquetes NuGet para acceder fácilmente a los paquetes NuGet. Funciona con VS 2012 Express, así como con las ediciones comunitarias de VS 2013 y VS 2015. En Visual Studio, vaya a "Herramientas" => "Extensiones y actualizaciones..." para instalar el Administrador de paquetes NuGet si aún no lo tiene. NuGet Package Manager descargará el paquete por usted, lo instalará y agregará una referencia a su proyecto.

Genere y modifique documentos PDF a través de la API .NET gratuita

Los desarrolladores de software pueden usar la API de PDFsharp para crear un nuevo documento PDF dentro de sus propias aplicaciones .NET. Una vez que se crea el documento, puede agregar una página vacía, así como insertar gráficos o texto con facilidad. También facilita a los desarrolladores modificar el documento existente según sus necesidades y guardarlo con el nombre de su elección. Con los siguientes pasos, puede generar y manipular documentos PDF en C#.

  1. Inicializar documento PDF
  2. Añadir página
  3. Obtenga un objeto XGraphics para dibujar
  4. crear una fuente
  5. Añadir texto
  6. Guardar documento

Crear PDF usando C#

// Create a new PDF document
PdfDocument pdfDocument = new PdfDocument();
// Create an empty page
PdfPage pdfPage = pdfDocument.AddPage();
// Get an XGraphics object for drawing
XGraphics xGraphics = XGraphics.FromPdfPage(pdfPage);
// Create a font
XFont xFont = new XFont("Verdana", 20, XFontStyle.BoldItalic);
// Draw the text
xGraphics.DrawString("File Format Developer Guide", xFont, XBrushes.Black,
    new XRect(0, 0, pdfPage.Width, pdfPage.Height),
    XStringFormats.Center);
// Save the document...
pdfDocument.Save("fileformat.pdf");
    

Cree anotaciones en PDF a través de la API de .NET

Las anotaciones permiten a los usuarios agregar contenido personalizado en páginas PDF. Las aplicaciones PDF normalmente permiten la creación y modificación de varios tipos de anotaciones, como texto, líneas, notas o formas, etc. PDFsharp permite a los programadores crear varios tipos de anotaciones PDF dentro de sus propias aplicaciones. La biblioteca admite la creación de anotaciones de texto, enlaces y anotaciones de sellos de goma.

Crear una anotación de texto PDF a través de C#

 // Create a PDF text annotation
PdfTextAnnotation textAnnot = new PdfTextAnnotation();
textAnnot.Title = "This is the title";
textAnnot.Subject = "This is the subject";
textAnnot.Contents = "This is the contents of the annotation.\rThis is the 2nd line.";
textAnnot.Icon = PdfTextAnnotationIcon.Note;
gfx.DrawString("The first text annotation", font, XBrushes.Black, 30, 50, XStringFormats.Default);
// Convert rectangle from world space to page space. This is necessary because the annotation is
// placed relative to the bottom left corner of the page with units measured in point.
XRect rect = gfx.Transformer.WorldToDefaultPage(new XRect(new XPoint(30, 60), new XSize(30, 30)));
textAnnot.Rectangle = new PdfRectangle(rect);
// Add the annotation to the page
page.Annotations.Add(textAnnot);

Combine varios documentos PDF a través de .NET

¿Tiene numerosos documentos PDF que deben combinarse en un solo documento grande? PDFsharp API le brinda la funcionalidad para combinar múltiples archivos PDF en uno solo con solo unas pocas líneas de código. Los desarrolladores pueden crear fácilmente un nuevo documento a partir de archivos PDF existentes. Esto puede ser útil para la comparación visual u otras tareas importantes.

Combinar documentos a través de Java

 // Open the input files
PdfDocument inputDocument1 = PdfReader.Open(filename1, PdfDocumentOpenMode.Import);
PdfDocument inputDocument2 = PdfReader.Open(filename2, PdfDocumentOpenMode.Import);
// Create the output document
PdfDocument outputDocument = new PdfDocument();
// Show consecutive pages facing. Requires Acrobat 5 or higher.
outputDocument.PageLayout = PdfPageLayout.TwoColumnLeft;
XFont font = new XFont("Verdana", 10, XFontStyle.Bold);
XStringFormat format = new XStringFormat();
format.Alignment = XStringAlignment.Center;
format.LineAlignment = XLineAlignment.Far;
XGraphics gfx;
XRect box;
int count = Math.Max(inputDocument1.PageCount, inputDocument2.PageCount);
for (int idx = 0; idx < count; idx++)
{
// Get page from 1st document
PdfPage page1 = inputDocument1.PageCount > idx ?
inputDocument1.Pages[idx] : new PdfPage();
// Get page from 2nd document
PdfPage page2 = inputDocument2.PageCount > idx ?
inputDocument2.Pages[idx] : new PdfPage();
// Add both pages to the output document
page1 = outputDocument.AddPage(page1);
page2 = outputDocument.AddPage(page2);
// Write document file name and page number on each page
gfx = XGraphics.FromPdfPage(page1);
box = page1.MediaBox.ToXRect();
box.Inflate(0, -10);
gfx.DrawString(String.Format("{0} • {1}", filename1, idx + 1),
font, XBrushes.Red, box, format);
gfx = XGraphics.FromPdfPage(page2);
box = page2.MediaBox.ToXRect();
box.Inflate(0, -10);
gfx.DrawString(String.Format("{0} • {1}", filename2, idx + 1),
font, XBrushes.Red, box, format);
}
// Save the document...
const string filename = "CompareDocument1_tempfile.pdf";
outputDocument.Save(filename);
 Español