Aspose.PDF FOSS for .NET est une bibliothèque sous licence MIT pour créer et travailler avec des documents PDF en C# et .NET. Le point d’entrée central est la classe Document, qui prend en charge la construction à partir d’un chemin de fichier, d’un tableau d’octets, d’un flux ou de sources protégées par mot de passe, et expose les opérations Open, Save, Merge, Encrypt, Decrypt et Convert sur l’ensemble de la spécification PDF.
La bibliothèque expose 805 classes couvrant la structure du document via Document, Page et PageCollection ; des annotations riches via AnnotationCollection (incluant AddTextAnnotation, AddLinkAnnotation, AddHighlightAnnotation, AddWatermarkAnnotation et AddRedactAnnotation) ; des formulaires interactifs avec Form, ButtonField, CheckboxField, RadioButtonField et ChoiceField ; l’extraction de texte et la recherche via TextFragmentAbsorber et TextFragment ; la détection de tables avec AbsorbedTable, AbsorbedRow et AbsorbedCell ; et la sécurité du document via Document.Encrypt et Document.Decrypt. La conversion de format prend en charge l’importation HTML, SVG et Markdown ainsi que l’exportation PDF.
Installez Aspose.PDF FOSS for .NET depuis NuGet : dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. La bibliothèque est entièrement sous licence MIT sans frais d’exécution ni restrictions d’utilisation. Pour les fonctionnalités et le support d’entreprise, consultez Aspose.PDF for .NET — Enterprise Product.
Document() or open existing files via Document.Open(path), Document.Open(data), or Document.Open(stream).PageCollection. Each Page exposes Width, Height, MediaBox, rotation, and Annotations.Document.Merge(documents) or Document.MergeDocuments(files). Import specific pages with Document.ImportPage and Document.ImportPages.DocumentInfo and Document.GetOrCreateMetadata().Document.Save(filename), Document.Save(stream, format), or Document.ToArray().Document instance and populating pages with content.Document.ImportPage and the Page API.Document.MergeDocuments.AnnotationCollection exposes methods for text, link, highlight, underline, strikeout, square, circle, line, ink, stamp, caret, redact, watermark, polygon, and polyline annotations.AddLinkAnnotation(rect, uri) or internal page-jump links with AddLinkAnnotation(rect, destinationPage, destRect).Document.Form to enumerate or create ButtonField, CheckboxField, RadioButtonField, and ChoiceField instances.AnnotationSelector with per-type Visit overloads.AnnotationFlags.AddRedactAnnotation.AddWatermarkAnnotation and AddStampAnnotation.TextFragmentAbsorber to locate all text fragments on a page or across a document, with optional phrase matching.TextFragment exposes Text, Position, TextState (font, size, colour), and bounding rectangle.TextFragmentState provides access to Font, FontSize, ForegroundColor, BackgroundColor, and rendering mode.AbsorbedTable, AbsorbedRow, and AbsorbedCell, each providing Rect and TextFragments.AbsorbedTable to parse tabular row-and-column data from financial PDFs.Document.Encrypt(userPassword, ownerPassword, permissions, algorithm) using Algorithm.AESx128, AESx256, or RC4x128.DocumentPrivilege.Document.ChangePasswords.Document.Decrypt().Signature and Algorithm types.DocumentPrivilege to prevent copying.Open an existing PDF, attach a URI link annotation to page 1, and persist the result.
using Aspose.Pdf;
var data = System.IO.File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
var page = doc.Pages[1];
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);
using var ms = new System.IO.MemoryStream();
doc.Save(ms);
System.IO.File.WriteAllBytes("output.pdf", ms.ToArray());
Stamp a watermark onto page 1 of an existing document and round-trip through serialization.
using Aspose.Pdf;
var input = System.IO.File.ReadAllBytes("report.pdf");
using var doc = Document.Open(input);
doc.Pages[1].Annotations.AddWatermarkAnnotation(
new Rectangle(0, 0, 612, 792), "CONFIDENTIAL");
var saved = doc.ToArray();
System.IO.File.WriteAllBytes("watermarked.pdf", saved);
Use TextFragmentAbsorber to enumerate all text fragments on the first page.
using Aspose.Pdf;
using Aspose.Pdf.Text;
var data = System.IO.File.ReadAllBytes("document.pdf");
using var doc = Document.Open(data);
var absorber = new TextFragmentAbsorber();
absorber.Visit(doc.Pages[1]);
foreach (var fragment in absorber.TextFragments)
{
Console.WriteLine(fragment.Text);
}
Aspose.PDF FOSS for .NET is released under the MIT License, allowing free use in commercial products with no runtime fees. The source code is publicly available on GitHub.
Install from NuGet using dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. The library targets .NET 8 and later with no native dependencies.
The library reads and writes PDF and supports import of HTML, SVG, and Markdown. Raster export is also available — PDF pages can be rendered to BMP, JPEG, PNG, and TIFF.
Use Document.Create() to produce an empty document, then add pages and save with Document.Save(stream) or Document.ToArray().
No license key or activation step is required. The library runs fully unlicensed at no cost under the MIT License.