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í dokumentuDocument.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 Pages poskytuje indexovaný přístup (od 1) k jednotlivým stránkám, z nichž každá vystavuje anotace, operátory a obsahové proudy.
  • Extrahování textuTextFragmentAbsorber navš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í akcePdfAction.CreateUri, PdfAction.CreateGoTo, PdfAction.CreateJavaScript a PdfAction.CreateLaunch pokrývají standardní typy PDF akcí.
  • AnotaceAnnotationCollection.AddLinkAnnotation př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.Forms a Aspose.Pdf.Facades poskytují 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.


Začínáme

Související zdroje