1. Продукти
  2.   PDF
  3.   .NET
  4.   PDFsharp

PDFsharp

 
 

.NET API с отворен код за обработка на PDF файлове

Създавайте, манипулирайте, конвертирайте и обработвайте PDF документи чрез безплатна C# .NET библиотека.

Какво е PDFsharp?

.NET библиотека с отворен код, която може да се използва за създаване, изобразяване, обединяване, разделяне, модифициране, отпечатване и извличане на текст или метаданни на PDF файлове. PDFsharp API поддържа създаване на PDF документи в движение от всеки .NET език. Той също така поддържа импортиране на данни от различни източници чрез XML файлове или директни интерфейси. Той поддържа множество опции за оформление на страницата, форматиране на текст и дизайн на документи.

PDFsharp предоставя графична реализация, базирана на GDI+ или WPF. API улеснява работата на програмиста, като предоставя функции за използване на един изходен код за рисуване върху PDF страница, както и в прозорец или на принтера. Той поддържа няколко важни функции за обработка на PDF файлове, като например модифициране на PDF, обединяване или разделяне на PDF файлове, конвертиране на XPS в PDF, изобразяване на PDF, извличане на PDF данни, вграждане и поднабор на шрифтове, поддръжка на Unicode и много други.

Previous Next

Първи стъпки с PDFsharp

PDFsharp е с двойно лицензиране като AGPL/търговски софтуер. AGPL е лиценз за софтуер с безплатен/отворен код.

Силно се препоръчва да използвате NuGet, за да добавите PDFsharp към вашия проект,

Команда NuGet

 Install-Package PdfSharp

С Visual Studio можете да инсталирате NuGet Package Manager за лесен достъп до NuGet пакети. Работи с VS 2012 Express, както и с изданията на общността на VS 2013 и VS 2015. В Visual Studio отидете на „Инструменти“ => „Разширения и актуализации...“, за да инсталирате NuGet Package Manager, ако все още не го имате. NuGet Package Manager ще изтегли пакета вместо вас, ще го инсталира и ще добави препратка към вашия проект.

Генерирайте и променяйте PDF документи чрез безплатен .NET API

Разработчиците на софтуер могат да използват PDFsharp API, за да създадат нов PDF документ в собствените си .NET приложения. След като документът е създаден, можете да добавите празна страница, както и да вмъкнете графики или текст с лекота. Той също така улеснява разработчиците да променят съществуващия документ според нуждите си и да го запазят с име по свой избор. С помощта на следните стъпки можете да генерирате и манипулирате PDF документи в C#.

  1. Инициализирайте PdfDocument
  2. Добавяне на страница
  3. Вземете XGraphics обект за рисуване
  4. Създайте шрифт
  5. Добави текст
  6. Запазване на документа

Създайте PDF с помощта на 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 анотации чрез .NET API

Анотациите позволяват на потребителите да добавят персонализирано съдържание към PDF страници. PDF приложенията обикновено позволяват създаването и модифицирането на различни типове анотации, като текст, линии, бележки или форми и т.н. PDFsharp позволява на програмистите да създават различни типове PDF анотации в собствените си приложения. Библиотеката поддържа създаването на текстови анотации, връзки и анотации с гумен печат.

Създайте PDF текстова анотация чрез 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);

Комбинирайте множество PDF документи чрез .NET

Имате многобройни PDF документи, които трябва да бъдат комбинирани в един голям документ? PDFsharp API ви предоставя функционалността за комбиниране на множество PDF файлове в един само с няколко реда код. Разработчиците могат лесно да създадат нов документ от съществуващи PDF файлове. Това може да е полезно за визуално сравнение или няколко други важни задачи.

Комбинирайте документи чрез 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);
 Български