PDFsharp
Atvērtā pirmkoda .NET API PDF apstrādei
Izveidojiet, manipulējiet, konvertējiet un apstrādājiet PDF dokumentus, izmantojot bezmaksas C# .NET bibliotēku.
Kas ir PDFsharp?
Atvērtā koda .NET bibliotēka, ko var izmantot, lai izveidotu, renderētu, sapludinātu, sadalītu, modificētu, drukātu un iegūtu PDF failu tekstu vai metadatus. PDFsharp API atbalsta tūlītēju PDF dokumentu izveidi no jebkuras .NET valodas. Tā atbalsta arī datu importēšanu no dažādiem avotiem, izmantojot XML failus vai tiešas saskarnes. Tā atbalsta daudzas lapas izkārtojuma, teksta formatēšanas un dokumentu noformēšanas iespējas.
PDFsharp nodrošina grafisku ieviešanu, kuras pamatā ir GDI+ vai WPF. API atvieglo izstrādātāja darbu, nodrošinot funkcijas viena avota koda izmantošanai zīmēšanai PDF lapā, kā arī logā vai printerī. Tā atbalsta vairākas svarīgas funkcijas PDF failu apstrādei, piemēram, PDF modificēšana, PDF failu sapludināšana vai sadalīšana, XPS konvertēšana uz PDF, PDF renderēšana, PDF datu ieguve, fontu iegulšana un apakšiestatīšana, Unicode atbalsts un daudz ko citu.
Darba sākšana ar PDFsharp
PDFsharp ir divas licences kā AGPL/komerciālā programmatūra. AGPL ir bezmaksas/atvērtā koda programmatūras licence.
Ir ļoti ieteicams izmantot NuGet, lai savam projektam pievienotu PDFsharp,
NuGet komanda
Install-Package PdfSharp
Izmantojot Visual Studio, varat instalēt NuGet pakotņu pārvaldnieku, lai ērti piekļūtu NuGet pakotnēm. Tas darbojas ar VS 2012 Express, kā arī ar kopienas izdevumiem VS 2013 un VS 2015. Programmā Visual Studio atveriet sadaļu "Rīki" => "Paplašinājumi un atjauninājumi...", lai instalētu NuGet pakotņu pārvaldnieku, ja jums tā vēl nav. NuGet pakotņu pārvaldnieks lejupielādēs pakotni jūsu vietā, instalēs to un pievienos atsauci uz jūsu projektu.
Ģenerējiet un modificējiet PDF dokumentus, izmantojot bezmaksas .NET API
Programmatūras izstrādātāji var izmantot PDFsharp API, lai izveidotu jaunu PDF dokumentu savās .NET lietojumprogrammās. Kad dokuments ir izveidots, varat pievienot tukšu lapu, kā arī viegli ievietot grafiku vai tekstu. Tas arī ļauj izstrādātājiem modificēt esošo dokumentu atbilstoši savām vajadzībām un saglabāt to ar izvēlētu nosaukumu. Izmantojot šīs darbības, varat ģenerēt un apstrādāt PDF dokumentus C#.
- Inicializējiet PdfDocument
- Pievienot lapu
- Iegūstiet XGraphics objektu zīmēšanai
- Izveidojiet fontu
- Pievienot tekstu
- Saglabāt dokumentu
Izveidojiet PDF, izmantojot 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");
Izveidojiet PDF anotācijas, izmantojot .NET API
Anotācijas ļauj lietotājiem pievienot pielāgotu saturu PDF lapās. PDF lietojumprogrammas parasti ļauj izveidot un modificēt dažāda veida anotācijas, piemēram, tekstu, līnijas, piezīmes vai formas utt. PDFsharp ļauj programmētājiem izveidot dažāda veida PDF anotācijas savās lietojumprogrammās. Bibliotēka atbalsta teksta anotāciju, saišu un gumijas zīmogu anotāciju izveidi.
Izveidojiet PDF teksta anotāciju, izmantojot 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);
Apvienojiet vairākus PDF dokumentus, izmantojot .NET
Vai jums ir daudz PDF dokumentu, kas jāapvieno vienā lielā dokumentā? PDFsharp API nodrošina funkcionalitāti vairāku PDF failu apvienošanai vienā, izmantojot tikai dažas koda rindiņas. Izstrādātāji var viegli izveidot jaunu dokumentu no esošajiem PDF failiem. Tas var būt noderīgi vizuālai salīdzināšanai vai vairākiem citiem svarīgiem uzdevumiem.
Apvienojiet dokumentus, izmantojot 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);