Aspose.PDF FOSS for .NET je bezplatná, MIT‑licencovaná .NET knihovna pro čtení, vytváření a manipulaci s PDF dokumenty. Vydána pod permisivní open‑source licencí, odstraňuje tradiční bariéru k podnikovým PDF funkcím — každá funkce v knihovně je k dispozici bez nákupu komerční licence.
Co je Aspose.PDF FOSS pro .NET?
Knihovna cílí na .NET 8 a novější. Je publikována na NuGet pod ID balíčku Aspose.Pdf.Foss a může být přidána do jakéhokoli projektu .NET 8+ jedním příkazem:
dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha
Primární jmenný prostor je Aspose.Pdf, s souvisejícími jmennými prostory zahrnujícími Aspose.Pdf.Text, Aspose.Pdf.Forms a Aspose.Pdf.Facades. Knihovna poskytuje 805 veřejných tříd API, podpořených 7 488 dokumentovanými tvrzeními a 100 úryvky kódu extrahovanými přímo z testovací sady.
Základní schopnosti
API pokrývá celý životní cyklus PDF dokumentu:
- Vytváření a načítání dokumentu —
Document.Create()vytváří prázdný dokument;Document.Open(data)načítá existující PDF z pole bajtů nebo proudu. - Přístup ke stránkám a obsahu — kolekce
Pagesposkytuje indexovaný přístup (od 1) k jednotlivým stránkám, z nichž každá vystavuje anotace, operátory a obsahové proudy. - Extrahování textu —
TextFragmentAbsorbernavštěvuje stránku a sbírá každý textový fragment, s volitelným filtrováním podle hledané fráze a podporou regulárních výrazů. - Interaktivní akce —
PdfAction.CreateUri,PdfAction.CreateGoTo,PdfAction.CreateJavaScriptaPdfAction.CreateLaunchpokrývají standardní typy PDF akcí. - Anotace —
AnnotationCollection.AddLinkAnnotationpřipojuje odkazovou anotaci s přidruženou akcí k libovolnému obdélníkovému regionu na stránce. - Formuláře — jmenný prostor
Aspose.Pdf.FormsaAspose.Pdf.Facadesposkytují přístup k polím AcroForm, formátování vzhledu a rozšířením JavaScriptu na úrovni pole.
Otevření dokumentu a přidání odkazu
Následující příklad demonstruje vzor round‑trip: vytvořte nový PDF dokument, přidejte anotaci odkazu s akcí URI na první stránku, uložte do proudu a znovu načtěte, abyste ověřili, že anotace přetrvává.
using var doc = Document.Create();
doc.Pages.Add();
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 MemoryStream();
doc.Save(ms);
ms.Position = 0;
using var doc2 = Document.Open(ms.ToArray());
var annot = (LinkAnnotation)doc2.Pages[1].Annotations[1];
Console.WriteLine(annot.Uri); // https://aspose.com
Statická metoda Document.Open přijímá byte[] nebo stream. doc.Pages[1] přistupuje k první stránce pomocí indexu založeného na 1 — stejná konvence indexování používaná v celé knihovně. Po uložení do MemoryStream lze dokument znovu načíst a všechny anotace jsou zachovány.
Vyhledávání textu na stránce
TextFragmentAbsorber poskytuje vyhledávání klíčových slov v proudu obsahu libovolné stránky. Předávejte konstruktoru vyhledávací frázi pro omezení výsledků, nebo použijte přetížení bez argumentů pro shromáždění všech fragmentů:
using var doc = Document.Open("path/to/document.pdf");
var absorber = new TextFragmentAbsorber("Hello");
absorber.Visit(doc.Pages[1]);
foreach (var fragment in absorber.TextFragments)
{
Console.WriteLine($"Found: {fragment.Text}");
}
Každý TextFragment ve výsledné kolekci vystavuje vlastnosti včetně Text, FontSize a pozičních údajů, což usnadňuje vytvoření pracovních postupů pro vyhledávání, zvýraznění nebo redakci nad extrahovanými fragmenty.
MIT licence a otevřený vývoj
Veškerý zdrojový kód je zveřejněn na GitHubu a distribuován pod licencí MIT. Neexistuje žádný evaluační vodoznak, žádný limit používání ani samostatný licenční soubor k správě. Vlastnost Document.IsLicensed vždy vrací true ve FOSS sestavení.
Balíček je v současné době ve verzi 0.1.0-alpha, což odráží aktivní vývoj. Povrch API je již značný — 805 tříd, 7 488 nároků — a označení alfa signalizuje, že podpisy API se mohou vyvíjet před vydáním verze 1.0.