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

PDFsharp

 
 

Open Source .NET API pro zpracování PDF

Vytvářejte, manipulujte, převádějte a zpracovávajte dokumenty PDF prostřednictvím bezplatné knihovny C# .NET.

Co je PDFsharp?

Open Source .NET knihovna, kterou lze použít k vytváření, vykreslování, slučování, rozdělování, úpravě, tisku a extrahování textu nebo metadat souborů PDF. PDFsharp API podporuje vytváření dokumentů PDF za chodu z libovolného jazyka .NET. Podporuje také import dat z různých zdrojů prostřednictvím souborů XML nebo přímých rozhraní. Podporuje řadu možností pro rozvržení stránky, formátování textu a návrh dokumentu.

PDFsharp poskytuje grafickou implementaci založenou buď na GDI+ nebo WPF. Rozhraní API usnadňuje vývojářům práci tím, že poskytuje funkce pro použití jednoho zdrojového kódu pro kreslení na stránce PDF i v okně nebo na tiskárně. Podporuje několik důležitých funkcí pro zpracování souborů PDF, jako je úprava PDF, sloučení nebo rozdělení PDF, převod XPS do PDF, vykreslování PDF, extrakce dat PDF, vkládání a podmnožiny písem, podpora Unicode a mnoho dalších.

Previous Next

Začínáme s PDFsharp

PDFsharp je licencován jako AGPL/Commercial software. AGPL je svobodná/open-source softwarová licence.

Důrazně se doporučuje používat NuGet k přidání PDFsharp do vašeho projektu,

příkaz NuGet

 Install-Package PdfSharp

Pomocí sady Visual Studio můžete nainstalovat Správce balíčků NuGet pro snadný přístup k balíčkům NuGet. Funguje s VS 2012 Express i s komunitními edicemi VS 2013 a VS 2015. Ve Visual Studiu přejděte na "Nástroje" => "Rozšíření a aktualizace..." pro instalaci Správce balíčků NuGet, pokud jej ještě nemáte. Správce balíčků NuGet vám balíček stáhne, nainstaluje a přidá odkaz na váš projekt.

Vytvářejte a upravujte dokumenty PDF prostřednictvím bezplatného rozhraní .NET API

Vývojáři softwaru mohou použít PDFsharp API k vytvoření nového dokumentu PDF ve svých vlastních aplikacích .NET. Jakmile je dokument vytvořen, můžete přidat prázdnou stránku a snadno vložit grafiku nebo text. Umožňuje také vývojářům upravit stávající dokument podle jejich potřeb a uložit jej s názvem podle vlastního výběru. Pomocí následujících kroků můžete generovat a manipulovat s dokumenty PDF v C#.

  1. Inicializujte PdfDocument
  2. Přidat stránku
  3. Získejte objekt XGraphics pro kreslení
  4. Vytvořte písmo
  5. Přidej text
  6. Uložit dokument

Vytvořte PDF pomocí 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");
    

Vytvářejte poznámky PDF prostřednictvím rozhraní .NET API

Anotace umožňují uživatelům přidávat vlastní obsah na stránky PDF. Aplikace PDF běžně umožňují vytváření a úpravy různých typů anotací, jako je text, čáry, poznámky nebo tvary atd. PDFsharp umožňuje programátorům vytvářet různé typy anotací PDF v rámci jejich vlastních aplikací. Knihovna podporuje vytváření textových anotací, odkazů a poznámek razítek.

Vytvořte textovou anotaci PDF pomocí 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);

Kombinujte více dokumentů PDF přes .NET

Máte mnoho dokumentů PDF, které je třeba spojit do jednoho velkého dokumentu? PDFsharp API vám poskytuje funkce pro kombinování více souborů PDF do jednoho pomocí několika řádků kódu. Vývojáři mohou snadno vytvořit nový dokument ze stávajících souborů PDF. To může být užitečné pro vizuální srovnání nebo několik dalších důležitých úkolů.

Kombinujte dokumenty přes 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);
 Čeština