PDFsharp
Open Source .NET API til PDF-behandling
Opret, manipuler, konverter og bearbejd PDF-dokumenter via gratis C# .NET-bibliotek.
Hvad er PDFsharp?
Open Source .NET-bibliotek, der kan bruges til at oprette, gengive, flette, opdele, ændre, udskrive og udtrække tekst eller metadata fra PDF-filer. PDFsharp API understøtter oprettelse af PDF-dokumenter på farten fra ethvert .NET-sprog. Det understøtter også import af data fra forskellige kilder via XML-filer eller direkte grænseflader. Det understøtter adskillige muligheder for sidelayout, tekstformatering og dokumentdesign.
PDFsharp leverer grafisk implementering baseret på enten GDI+ eller WPF. API'en gør udviklerens job let ved at tilbyde funktioner til brug af én kildekode til tegning på en PDF-side såvel som i et vindue eller på printeren. Det understøtter adskillige vigtige funktioner til behandling af PDF-filer, såsom ændring af PDF, fletning eller opdeling af PDF'er, XPS til PDF-konvertering, PDF-gengivelse, PDF-dataudtræk, skrifttypeindlejring og underindstilling, Unicode-understøttelse og mange flere.
Kom godt i gang med PDFsharp
PDFsharp er dobbeltlicenseret som AGPL/kommerciel software. AGPL er en gratis/open source-softwarelicens.
Det anbefales stærkt at bruge NuGet til at tilføje PDFsharp til dit projekt,
NuGet kommando
Install-Package PdfSharp
Med Visual Studio kan du installere NuGet Package Manager for nemt at få adgang til NuGet-pakker. Det fungerer med VS 2012 Express såvel som med fællesskabsudgaverne af VS 2013 og VS 2015. Gå til "Værktøjer" i Visual Studio => "Udvidelser og opdateringer..." for at installere NuGet Package Manager, hvis du ikke har det endnu. NuGet Package Manager vil downloade pakken for dig, installere den og tilføje en reference til dit projekt.
Generer og modificer PDF-dokumenter via gratis .NET API
Softwareudviklere kan bruge PDFsharp API til at oprette et nyt PDF-dokument i deres egne .NET-applikationer. Når dokumentet er oprettet, kan du nemt tilføje en tom side samt indsætte grafik eller tekst. Det letter også udviklere at ændre det eksisterende dokument efter deres behov og gemme det med navnet efter eget valg. Ved at bruge følgende trin kan du generere og manipulere PDF-dokumenter i C#.
- Initialiser PdfDocument
- Tilføj side
- Få et XGraphics-objekt til at tegne
- Opret en skrifttype
- Tilføj tekst
- Gem dokument
Opret PDF ved hjælp af 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");
Opret PDF-anmærkninger via .NET API
Annoteringer giver brugerne mulighed for at tilføje tilpasset indhold på PDF-sider. PDF-applikationer tillader normalt oprettelse og ændring af forskellige typer annoteringer, såsom tekst, linjer, noter eller figurer osv. PDFsharp gør det muligt for programmører at oprette forskellige typer PDF-annoteringer i deres egne applikationer. Biblioteket understøtter oprettelse af tekstanmærkninger, links og gummistempler.
Opret en PDF-tekstanmærkning 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, der skal kombineres til ét stort dokument? PDFsharp API giver dig funktionaliteten til at kombinere flere PDF-filer til en enkelt med blot et par linjer kode. Udviklere kan nemt oprette et nyt dokument fra eksisterende PDF-filer. Dette kan være nyttigt til visuel sammenligning eller flere andre vigtige opgaver.
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);