1. Produkte
  2.   Pdf
  3.   .NET
  4.   PDFsharp

PDFsharp

 
 

Open-Source-.NET-API für die PDF-Verarbeitung

Erstellen, bearbeiten, konvertieren und verarbeiten Sie PDF-Dokumente über die kostenlose C# .NET-Bibliothek.

Was ist PDFsharp?

Open Source .NET-Bibliothek, die zum Erstellen, Rendern, Zusammenführen, Teilen, Ändern, Drucken und Extrahieren von Text oder Metadaten von PDF-Dateien verwendet werden kann. Die PDFsharp-API unterstützt die spontane Erstellung von PDF-Dokumenten aus jeder .NET-Sprache. Es unterstützt auch den Import von Daten aus verschiedenen Quellen über XML-Dateien oder direkte Schnittstellen. Es unterstützt zahlreiche Optionen für das Seitenlayout, die Textformatierung und das Dokumentendesign.

PDFsharp bietet eine grafische Implementierung basierend entweder auf GDI+ oder WPF. Die API erleichtert Entwicklern die Arbeit, indem sie Funktionen zur Verwendung eines Quellcodes zum Zeichnen auf einer PDF-Seite sowie in einem Fenster oder auf dem Drucker bereitstellt. Es unterstützt mehrere wichtige Funktionen für die Verarbeitung von PDF-Dateien, z. B. das Ändern von PDFs, das Zusammenführen oder Teilen von PDFs, die Konvertierung von XPS in PDF, das Rendern von PDF-Dateien, das Extrahieren von PDF-Daten, das Einbetten und Unterteilen von Schriftarten, Unicode-Unterstützung und vieles mehr.

Previous Next

Erste Schritte mit PDFsharp

PDFsharp ist als AGPL/kommerzielle Software doppelt lizenziert. AGPL ist eine kostenlose/Open-Source-Softwarelizenz.

Es wird dringend empfohlen, NuGet zu verwenden, um PDFsharp zu Ihrem Projekt hinzuzufügen.

NuGet-Befehl

 Install-Package PdfSharp

Mit Visual Studio können Sie den NuGet Package Manager installieren, um einfach auf NuGet-Pakete zuzugreifen. Es funktioniert sowohl mit VS 2012 Express als auch mit den Community-Editionen von VS 2013 und VS 2015. Gehen Sie in Visual Studio zu „Tools“ => „Erweiterungen und Updates...“, um den NuGet Package Manager zu installieren, falls Sie ihn noch nicht haben. Der NuGet-Paket-Manager lädt das Paket für Sie herunter, installiert es und fügt Ihrem Projekt einen Verweis hinzu.

Generieren und ändern Sie PDF-Dokumente über die kostenlose .NET-API

Softwareentwickler können die PDFsharp-API verwenden, um ein neues PDF-Dokument in ihren eigenen .NET-Anwendungen zu erstellen. Sobald das Dokument erstellt ist, können Sie ganz einfach eine leere Seite hinzufügen sowie Grafiken oder Text einfügen. Es erleichtert Entwicklern auch, das vorhandene Dokument nach ihren Bedürfnissen zu modifizieren und es unter dem Namen ihrer Wahl zu speichern. Mit den folgenden Schritten können Sie PDF-Dokumente in C# generieren und bearbeiten.

  1. PdfDocument initialisieren
  2. Seite hinzufügen
  3. Holen Sie sich ein XGraphics-Objekt zum Zeichnen
  4. Erstellen Sie eine Schriftart
  5. Text hinzufügen
  6. Dokument speichern

PDF mit C# erstellen

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

Erstellen Sie PDF-Anmerkungen über die .NET-API

Anmerkungen ermöglichen es Benutzern, benutzerdefinierte Inhalte auf PDF-Seiten hinzuzufügen. PDF-Anwendungen ermöglichen normalerweise die Erstellung und Änderung verschiedener Arten von Anmerkungen, wie z. B. Text, Linien, Notizen oder Formen usw. PDFsharp ermöglicht es Programmierern, verschiedene Arten von PDF-Anmerkungen in ihren eigenen Anwendungen zu erstellen. Die Bibliothek unterstützt die Erstellung von Textanmerkungen, Links und Stempelanmerkungen.

Erstellen Sie eine PDF-Textanmerkung über 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);

Kombinieren Sie mehrere PDF-Dokumente über .NET

Haben Sie zahlreiche PDF-Dokumente, die zu einem großen Dokument zusammengeführt werden müssen? Die PDFsharp-API bietet Ihnen die Funktionalität zum Kombinieren mehrerer PDF-Dateien zu einer einzigen mit nur wenigen Codezeilen. Entwickler können ganz einfach ein neues Dokument aus bestehenden PDF-Dateien erstellen. Dies kann für einen visuellen Vergleich oder mehrere andere wichtige Aufgaben nützlich sein.

Kombinieren Sie Dokumente über 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);
 Deutsch