Aspose.PDF FOSS for .NET je biblioteka licencirana pod MIT licencom za kreiranje i rad sa PDF dokumentima u C# i .NET. Centralna tačka ulaza je klasa Document, koja podržava konstrukciju iz putanje fajla, bajt niza, strima ili izvora zaštićenih lozinkom, i izlaže operacije Open, Save, Merge, Encrypt, Decrypt i Convert kroz kompletnu PDF specifikaciju.
Biblioteka izlaže 805 klasa koje pokrivaju strukturu dokumenta putem Document, Page i PageCollection; bogate anotacije kroz AnnotationCollection (uključujući AddTextAnnotation, AddLinkAnnotation, AddHighlightAnnotation, AddWatermarkAnnotation i AddRedactAnnotation); interaktivne forme sa Form, ButtonField, CheckboxField, RadioButtonField i ChoiceField; izdvajanje teksta i pretragu putem TextFragmentAbsorber i TextFragment; detekciju tabela sa AbsorbedTable, AbsorbedRow i AbsorbedCell; i sigurnost dokumenta putem Document.Encrypt i Document.Decrypt. Konverzija formata podržava uvoz HTML‑a, SVG‑a i Markdown‑a uz izvoz u PDF.
Instalirajte Aspose.PDF FOSS for .NET sa NuGet‑a: dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. Biblioteka je u potpunosti MIT‑licencirana, bez naknada za runtime ili ograničenja upotrebe. Za enterprise funkcionalnosti i podršku, pogledajte 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.