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ése —
Document.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
Pagesgyű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és —
TextFragmentAbsorberegy 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űveletek —
PdfAction.CreateUri,PdfAction.CreateGoTo,PdfAction.CreateJavaScriptésPdfAction.CreateLaunchlefedik a szabványos PDF művelettípusokat. - Annotációk —
AnnotationCollection.AddLinkAnnotationegy link annotációt csatol a hozzá tartozó művelettel bármely téglalap alakú területhez egy oldalon. - Űrlapok — a
Aspose.Pdf.Formsnévtér és aAspose.Pdf.Facadeshozzá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.