1. Des produits
  2.   PDF
  3.   .NET
  4.   PDFsharp

PDFsharp

 
 

API .NET Open Source pour le traitement des PDF

Créez, manipulez, convertissez et traitez des documents PDF via la bibliothèque gratuite C# .NET.

Qu'est-ce que PDFsharp ?

Bibliothèque Open Source .NET pouvant être utilisée pour créer, restituer, fusionner, fractionner, modifier, imprimer et extraire du texte ou des métadonnées de fichiers PDF. L'API PDFsharp prend en charge la création de documents PDF à la volée à partir de n'importe quel langage .NET. Il prend également en charge l'importation de données à partir de diverses sources via des fichiers XML ou des interfaces directes. Il prend en charge de nombreuses options pour la mise en page, le formatage du texte et la conception de documents.

PDFsharp fournit une implémentation graphique basée sur GDI+ ou WPF. L'API facilite le travail du développeur en fournissant des fonctionnalités permettant d'utiliser un code source pour dessiner sur une page PDF ainsi que dans une fenêtre ou sur l'imprimante. Il prend en charge plusieurs fonctionnalités importantes pour le traitement des fichiers PDF, telles que la modification de PDF, la fusion ou la division de PDF, la conversion XPS en PDF, le rendu PDF, l'extraction de données PDF, l'incorporation et le sous-ensemble de polices, la prise en charge d'Unicode et bien d'autres.

Previous Next

Premiers pas avec PDFsharp

PDFsharp est un logiciel à double licence AGPL/Commercial. AGPL est une licence de logiciel libre/open-source.

Il est fortement recommandé d'utiliser NuGet pour ajouter PDFsharp à votre projet,

Commande NuGet

 Install-Package PdfSharp

Avec Visual Studio, vous pouvez installer le gestionnaire de packages NuGet pour accéder facilement aux packages NuGet. Il fonctionne avec VS 2012 Express ainsi qu'avec les éditions communautaires de VS 2013 et VS 2015. Dans Visual Studio, allez dans "Outils" => "Extensions et mises à jour..." pour installer le gestionnaire de packages NuGet si vous ne l'avez pas encore. Le gestionnaire de packages NuGet téléchargera le package pour vous, l'installera et ajoutera une référence à votre projet.

Générer et modifier des documents PDF via l'API .NET gratuite

Les développeurs de logiciels peuvent utiliser l'API PDFsharp pour créer un nouveau document PDF dans leurs propres applications .NET. Une fois le document créé, vous pouvez ajouter une page vide et insérer facilement des graphiques ou du texte. Il permet également aux développeurs de modifier le document existant selon leurs besoins et de l'enregistrer sous le nom de leur choix. En suivant les étapes suivantes, vous pouvez générer et manipuler des documents PDF en C#.

  1. Initialiser le document PDF
  2. Ajouter une page
  3. Obtenir un objet XGraphics pour le dessin
  4. Créer une police
  5. Ajouter du texte
  6. Enregistrer le document

Créer un PDF avec 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");
    

Créer des annotations PDF via l'API .NET

Les annotations permettent aux utilisateurs d'ajouter du contenu personnalisé sur les pages PDF. Les applications PDF permettent normalement la création et la modification de divers types d'annotations, telles que du texte, des lignes, des notes ou des formes, etc. PDFsharp permet aux programmeurs de créer divers types d'annotations PDF dans leurs propres applications. La bibliothèque prend en charge la création d'annotations de texte, de liens et d'annotations de tampon en caoutchouc.

Créer une annotation de texte PDF 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);

Combinez plusieurs documents PDF via .NET

Avez-vous de nombreux documents PDF qui doivent être combinés en un seul gros document ? L'API PDFsharp vous offre la possibilité de combiner plusieurs fichiers PDF en un seul avec seulement quelques lignes de code. Les développeurs peuvent facilement créer un nouveau document à partir de fichiers PDF existants. Cela peut être utile pour la comparaison visuelle ou plusieurs autres tâches importantes.

Combiner des documents 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);
 Français