Aspose.PDF FOSS for .NET egy ingyenes, MIT-licencű .NET könyvtár PDF dokumentumok olvasásához, létrehozásához és manipulálásához. Engedélyes, nyílt forráskódú licenc alatt kiadva, eltávolítja a hagyományos akadályt a vállalati szintű PDF képességekhez – a könyvtár minden funkciója elérhető kereskedelmi licenc vásárlása nélkül.

Mi az Aspose.PDF FOSS a .NET-hez?

A könyvtár a .NET 8-ra és későbbi verziókra céloz. A NuGet-en a Aspose.Pdf.Foss csomagazonosító alatt kerül közzétételre, és egyetlen paranccsal hozzáadható bármely .NET 8+ projekthez:

dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha

Az elsődleges névtér a Aspose.Pdf, a kapcsolódó névterek közé tartozik a Aspose.Pdf.Text, Aspose.Pdf.Forms és Aspose.Pdf.Facades. A könyvtár 805 nyilvános API osztályt tesz elérhetővé, amelyeket 7 488 dokumentált követelés és 100 kódrészlet támaszt alá, közvetlenül a tesztsorból kinyerve.

Alapvető képességek

Az API lefedi a PDF dokumentum teljes életciklusát:

  • Dokumentum létrehozása és betöltéseDocument.Create() egy üres dokumentumot hoz létre; Document.Open(data) egy meglévő PDF-et tölt be bájt tömbből vagy adatfolyamból.
  • Oldal- és tartalomhozzáférés — a Pages gyűjtemény 1‑alapú indexelt hozzáférést biztosít az egyes oldalakhoz, amelyek mindegyike annotációkat, operátorokat és tartalomfolyamokat tesz elérhetővé.
  • SzövegkinyerésTextFragmentAbsorber egy oldalt bejár, és összegyűjti az összes szövegrészt, opcionális keresőkifejezés-szűréssel és reguláris kifejezés támogatással.
  • Interaktív műveletekPdfAction.CreateUri, PdfAction.CreateGoTo, PdfAction.CreateJavaScript és PdfAction.CreateLaunch lefedik a szabványos PDF művelettípusokat.
  • AnnotációkAnnotationCollection.AddLinkAnnotation egy link annotációt csatol a hozzá tartozó művelettel bármely téglalap alakú területhez egy oldalon.
  • Űrlapok — a Aspose.Pdf.Forms névtér és a Aspose.Pdf.Facades hozzáférést biztosít az AcroForm mezőkhöz, a megjelenés formázásához és a mezőszintű JavaScript kiterjesztésekhez.

Dokumentum megnyitása és hivatkozás hozzáadása

A következő példa bemutatja a round‑trip mintát: új PDF dokumentum létrehozása, URI akciós hivatkozás‑annotáció hozzáadása az első oldalhoz, mentés egy stream‑be, és újratöltés az annotáció fennmaradásának ellenőrzéséhez.

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

A Document.Open statikus metódus egy byte[]-t vagy egy adatfolyamot fogad el.
doc.Pages[1] az első oldalt 1-alapú indexszel éri el — ugyanazt az indexelési konvenciót használva, amely a könyvtár egészében érvényes.
A MemoryStream-ba mentés után a dokumentum újratölthető, és az összes annotáció megmarad.


Szöveg keresése egy oldalon

TextFragmentAbsorber kulcsszavas keresést biztosít bármely oldal tartalomfolyamán. Adj meg egy keresési kifejezést a konstruktorban az eredmények szűkítéséhez, vagy használd a paraméter nélküli túlterhelést az összes töredék összegyűjtéséhez:

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}");
}

Minden TextFragment a kapott gyűjteményben tulajdonságokat tesz elérhetővé, többek között Text, FontSize és pozíciós adatokat, ami egyszerűvé teszi a keresés, kiemelés vagy redakciós munkafolyamatok felépítését a kivonatolt fragmentumok felett.


MIT licenc és nyílt fejlesztés

Minden forráskód a GitHub-on közzétett és az MIT licenc alatt terjesztett. Nincs értékelési vízjel, nincs használati korlát, és nincs külön licencfájl a kezeléshez. A Document.IsLicensed tulajdonság mindig true értéket ad vissza a FOSS buildben.

A csomag jelenleg a 0.1.0-alpha verzióban van, ami az aktív fejlesztést tükrözi. Az API felület már jelentős — 805 osztály, 7,488 igény — és az alfa jelölés azt jelzi, hogy az API aláírások a 1.0 kiadás előtt változhatnak.


Első lépések

Kapcsolódó erőforrások