Aspose.PDF FOSS for .NET adalah perpustakaan berlisensi MIT untuk membuat dan bekerja dengan dokumen PDF dalam C# dan .NET. Titik masuk utama adalah kelas Document, yang mendukung konstruksi dari jalur file, array byte, stream, atau sumber yang dilindungi kata sandi, dan menyediakan operasi Open, Save, Merge, Encrypt, Decrypt, dan Convert di seluruh spesifikasi PDF.
Perpustakaan ini mengekspos 805 kelas yang mencakup struktur dokumen melalui Document, Page, dan PageCollection; anotasi kaya melalui AnnotationCollection (termasuk AddTextAnnotation, AddLinkAnnotation, AddHighlightAnnotation, AddWatermarkAnnotation, dan AddRedactAnnotation); formulir interaktif dengan Form, ButtonField, CheckboxField, RadioButtonField, dan ChoiceField; ekstraksi teks dan pencarian melalui TextFragmentAbsorber dan TextFragment; deteksi tabel dengan AbsorbedTable, AbsorbedRow, dan AbsorbedCell; serta keamanan dokumen melalui Document.Encrypt dan Document.Decrypt. Konversi format mendukung impor HTML, SVG, dan Markdown bersama ekspor PDF.
Instal Aspose.PDF FOSS for .NET dari NuGet: dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. Perpustakaan ini sepenuhnya berlisensi MIT tanpa biaya runtime atau pembatasan penggunaan. Untuk fitur enterprise dan dukungan, lihat 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.