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

PDFsharp

 
 

Open Source .NET API for PDF-behandling

Opprett, manipuler, konverter og behandle PDF-dokumenter via gratis C# .NET-bibliotek.

Hva er PDFsharp?

Open Source .NET-bibliotek som kan brukes til å lage, gjengi, slå sammen, dele, endre, skrive ut og trekke ut tekst eller metadata fra PDF-filer. PDFsharp API støtter oppretting av PDF-dokumenter på farten fra alle .NET-språk. Den støtter også import av data fra ulike kilder via XML-filer eller direkte grensesnitt. Den støtter en rekke alternativer for sidelayout, tekstformatering og dokumentdesign.

PDFsharp gir grafisk implementering basert enten på GDI+ eller WPF. API-en gjør utviklerens jobb enkel ved å tilby funksjoner for å bruke én kildekode for å tegne på en PDF-side så vel som i et vindu eller på skriveren. Den støtter flere viktige funksjoner for å behandle PDF-filer som å endre PDF, slå sammen eller dele PDF-filer, XPS til PDF-konvertering, PDF-gjengivelse, PDF-datautvinning, skriftinnbygging og underinnstilling, Unicode-støtte og mange flere.

Previous Next

Komme i gang med PDFsharp

PDFsharp er dobbeltlisensiert som AGPL/kommersiell programvare. AGPL er en fri/åpen kildekode programvarelisens.

Det anbefales sterkt å bruke NuGet for å legge til PDFsharp til prosjektet ditt,

NuGet kommando

 Install-Package PdfSharp

Med Visual Studio kan du installere NuGet Package Manager for enkel tilgang til NuGet-pakker. Det fungerer med VS 2012 Express så vel som med fellesskapsutgavene av VS 2013 og VS 2015. I Visual Studio går du til "Verktøy" => "Utvidelser og oppdateringer..." for å installere NuGet Package Manager hvis du ikke har det ennå. NuGet Package Manager vil laste ned pakken for deg, installere den og legge til en referanse til prosjektet ditt.

Generer og modifiser PDF-dokumenter via gratis .NET API

Programvareutviklere kan bruke PDFsharp API til å lage et nytt PDF-dokument i sine egne .NET-applikasjoner. Når dokumentet er opprettet, kan du enkelt legge til en tom side samt sette inn grafikk eller tekst. Det gjør det også lettere for utviklere å endre det eksisterende dokumentet i henhold til deres behov og lagre det med navnet de ønsker. Ved å bruke følgende trinn kan du generere og manipulere PDF-dokumenter i C#.

  1. Initialiser PdfDocument
  2. Legg til side
  3. Skaff deg et XGraphics-objekt for å tegne
  4. Lag en font
  5. Legg til tekst
  6. Lagre dokument

Lag PDF med 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");
    

Lag PDF-anmerkninger via .NET API

Merknader lar brukere legge til tilpasset innhold på PDF-sider. PDF-applikasjoner tillater normalt å lage og endre ulike typer merknader, som tekst, linjer, notater eller former, osv. PDFsharp gjør det mulig for programmerere å lage ulike typer PDF-merknader i sine egne applikasjoner. Biblioteket støtter oppretting av tekstkommentarer, lenker og stempelmerknader.

Lag en PDF-tekstanmerkning 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);

Kombiner flere PDF-dokumenter via .NET

Har du mange PDF-dokumenter som må kombineres til ett stort dokument? PDFsharp API gir deg funksjonaliteten for å kombinere flere PDF-filer til én enkelt med bare noen få linjer med kode. Utviklere kan enkelt lage et nytt dokument fra eksisterende PDF-filer. Dette kan være nyttig for visuell sammenligning eller flere andre viktige oppgaver.

Kombiner dokumenter 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);
 Norsk