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

PDFsharp

 
 

Open Source .NET API voor PDF-verwerking

Maak, manipuleer, converteer en verwerk PDF-documenten via de gratis C# .NET-bibliotheek.

Wat is PDFsharp?

Open Source .NET-bibliotheek die kan worden gebruikt voor het maken, weergeven, samenvoegen, splitsen, wijzigen, afdrukken en extraheren van tekst of metagegevens van PDF-bestanden. De PDFsharp API ondersteunt het on-the-fly maken van PDF-documenten vanuit elke .NET-taal. Het ondersteunt ook het importeren van gegevens uit verschillende bronnen via XML-bestanden of directe interfaces. Het ondersteunt talloze opties voor paginalay-out, tekstopmaak en documentontwerp.

PDFsharp biedt grafische implementatie op basis van GDI+ of WPF. De API maakt het werk van de ontwikkelaar gemakkelijk door functies te bieden voor het gebruik van één broncode voor het tekenen op een PDF-pagina, maar ook in een venster of op de printer. Het ondersteunt verschillende belangrijke functies voor het verwerken van PDF-bestanden, zoals het wijzigen van PDF's, samenvoegen of splitsen van PDF's, XPS naar PDF-conversie, PDF-rendering, PDF-gegevensextractie, Inbedding en sub-instelling van lettertypen, Unicode-ondersteuning en nog veel meer.

Previous Next

Aan de slag met PDFsharp

PDFsharp heeft een dubbele licentie als AGPL/commerciële software. AGPL is een gratis/open-source softwarelicentie.

Het wordt ten zeerste aanbevolen om NuGet te gebruiken om PDFsharp aan uw project toe te voegen,

NuGet-opdracht

 Install-Package PdfSharp

Met Visual Studio kunt u NuGet Package Manager installeren om eenvoudig toegang te krijgen tot NuGet-pakketten. Het werkt zowel met VS 2012 Express als met de community-edities van VS 2013 en VS 2015. Ga in Visual Studio naar "Tools" => "Extensies en updates..." om NuGet Package Manager te installeren als u deze nog niet hebt. De NuGet Package Manager zal het pakket voor u downloaden, installeren en een verwijzing naar uw project toevoegen.

Genereer en wijzig PDF-documenten via gratis .NET API

Softwareontwikkelaars kunnen de PDFsharp API gebruiken om een nieuw PDF-document te maken in hun eigen .NET-applicaties. Nadat het document is gemaakt, kunt u eenvoudig een lege pagina toevoegen en afbeeldingen of tekst invoegen. Het stelt ontwikkelaars ook in staat om het bestaande document aan te passen aan hun behoeften en het op te slaan met de naam van hun keuze. Met behulp van de volgende stappen kunt u PDF-documenten genereren en manipuleren in C#.

  1. PdfDocument initialiseren
  2. Pagina toevoegen
  3. Een XGraphics-object ophalen om te tekenen
  4. Een lettertype maken
  5. Voeg tekst toe
  6. Document opslaan

PDF maken met 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");
    

PDF-annotaties maken via .NET API

Met annotaties kunnen gebruikers aangepaste inhoud toevoegen aan PDF-pagina's. Met PDF-toepassingen kunnen normaal gesproken verschillende soorten annotaties worden gemaakt en gewijzigd, zoals tekst, lijnen, notities of vormen, enz. Met PDFsharp kunnen programmeurs verschillende soorten PDF-annotaties maken in hun eigen toepassingen. De bibliotheek ondersteunt het maken van tekstannotaties, koppelingen en rubberstempelannotaties.

Maak een PDF-tekstannotatie via 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);

Combineer meerdere PDF-documenten via .NET

Heeft u meerdere PDF-documenten die moeten worden gecombineerd tot één groot document? PDFsharp API biedt u de functionaliteit voor het combineren van meerdere PDF-bestanden in één enkele met slechts een paar regels code. Ontwikkelaars kunnen eenvoudig een nieuw document maken van bestaande PDF-bestanden. Dit kan handig zijn voor visuele vergelijking of verschillende andere belangrijke taken.

Documenten combineren via 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);
 Dutch