![](https://products-qa.fileformat.com/lt/pdf/net/pdfsharp/header-image.png)
PDFsharp
Atvirojo kodo .NET API, skirta PDF apdorojimui
Kurkite, manipuliuokite, konvertuokite ir apdorokite PDF dokumentus naudodami nemokamą C# .NET biblioteką.
Kas yra PDFsharp?
Atvirojo kodo .NET biblioteka, kurią galima naudoti PDF failų tekstui arba metaduomenims kurti, pateikti, sujungti, skaidyti, modifikuoti, spausdinti ir išgauti. PDFsharp API palaiko greitą PDF dokumentų kūrimą iš bet kurios .NET kalbos. Ji taip pat palaiko duomenų importavimą iš įvairių šaltinių per XML failus arba tiesiogines sąsajas. Jis palaiko daugybę puslapio išdėstymo, teksto formatavimo ir dokumentų dizaino parinkčių.
„PDFsharp“ teikia grafinį įgyvendinimą, pagrįstą GDI+ arba WPF. API palengvina kūrėjo darbą, nes suteikia funkcijų, leidžiančių naudoti vieną šaltinio kodą piešimui PDF puslapyje, lange arba spausdintuve. Jis palaiko keletą svarbių PDF failų apdorojimo funkcijų, pvz., PDF modifikavimą, PDF sujungimą arba skaidymą, XPS konvertavimą į PDF, PDF atvaizdavimą, PDF duomenų ištraukimą, šriftų įterpimą ir pogrupį, Unicode palaikymą ir daug daugiau.
Darbo su PDFsharp pradžia
PDFsharp yra dviguba licencija kaip AGPL / komercinė programinė įranga. AGPL yra nemokama / atvirojo kodo programinės įrangos licencija.
Labai rekomenduojama naudoti „NuGet“, kad pridėtumėte PDFsharp prie projekto,
NuGet komanda
Install-Package PdfSharp
Naudodami „Visual Studio“ galite įdiegti „NuGet Package Manager“, kad galėtumėte lengvai pasiekti „NuGet“ paketus. Jis veikia su VS 2012 Express, taip pat su bendruomenės leidimais VS 2013 ir VS 2015. Visual Studio eikite į "Įrankiai" => „Plėtiniai ir naujinimai...“, kad įdiegtumėte „NuGet Package Manager“, jei jos dar neturite. „NuGet Package Manager“ atsisiųs paketą už jus, jį įdiegs ir pridės nuorodą į jūsų projektą.
Generuokite ir keiskite PDF dokumentus naudodami nemokamą .NET API
Programinės įrangos kūrėjai gali naudoti PDFsharp API, kad sukurtų naują PDF dokumentą savo .NET programose. Sukūrę dokumentą galite pridėti tuščią puslapį, taip pat lengvai įterpti grafikos ar teksto. Tai taip pat palengvina kūrėjams galimybę modifikuoti esamą dokumentą pagal savo poreikius ir išsaugoti jį pasirinktu pavadinimu. Atlikdami šiuos veiksmus galite generuoti ir valdyti PDF dokumentus C#.
- Inicijuoti PdfDocument
- Pridėti puslapį
- Gaukite XGraphics objektą piešimui
- Sukurkite šriftą
- Pridėti tekstą
- Išsaugoti dokumentą
Sukurkite PDF naudodami 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");
Kurkite PDF komentarus naudodami .NET API
Komentarai leidžia vartotojams pridėti pasirinktinį turinį į PDF puslapius. PDF programos paprastai leidžia kurti ir modifikuoti įvairių tipų komentarus, pvz., tekstą, linijas, pastabas ar figūras ir kt. PDFsharp leidžia programuotojams kurti įvairių tipų PDF komentarus savo programose. Biblioteka palaiko tekstinių anotacijų, nuorodų ir guminių antspaudų anotacijų kūrimą.
Sukurkite PDF teksto anotaciją naudodami 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);
Sujunkite kelis PDF dokumentus naudodami .NET
Ar turite daug PDF dokumentų, kuriuos reikia sujungti į vieną didelį dokumentą? PDFsharp API suteikia jums funkcionalumą, leidžiantį sujungti kelis PDF failus į vieną, naudojant tik kelias kodo eilutes. Kūrėjai gali lengvai sukurti naują dokumentą iš esamų PDF failų. Tai gali būti naudinga vizualiniam palyginimui ar kelioms kitoms svarbioms užduotims.
Sujunkite dokumentus naudodami „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);