Aspose.PDF FOSS för .NET är ett gratis, MIT-licensierat .NET-bibliotek för att läsa, skapa och manipulera PDF-dokument. Utgivet under en tillåtande öppen källkodslicens tar det bort det traditionella hindret för företagsklassade PDF-funktioner — varje funktion i biblioteket är tillgänglig utan att köpa en kommersiell licens.

Vad är Aspose.PDF FOSS för .NET?

Biblioteket riktar sig mot .NET 8 och senare. Det publiceras på NuGet under paket‑ID Aspose.Pdf.Foss och kan läggas till i vilket .NET 8+ projekt som helst med ett enda kommando:

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

Den primära namnrymden är Aspose.Pdf, med relaterade namnrymder inklusive Aspose.Pdf.Text, Aspose.Pdf.Forms och Aspose.Pdf.Facades. Biblioteket exponerar 805 offentliga API-klasser som stöds av 7,488 dokumenterade påståenden och 100 kodsnuttar som extraherats direkt från testsviten.

Kärnkompetenser

API:et täcker hela livscykeln för ett PDF-dokument:

  • Dokumentskapande och inläsningDocument.Create() skapar ett tomt dokument; Document.Open(data) läser in en befintlig PDF från en byte‑array eller ström.
  • Sid- och innehållsåtkomstPages‑samlingen ger 1‑baserad indexerad åtkomst till enskilda sidor, där varje sida exponerar annotationer, operatorer och innehållsströmmar.
  • TextutdragTextFragmentAbsorber besöker en sida och samlar varje textfragment, med valfri filtrering efter sökfras och stöd för reguljära uttryck.
  • Interaktiva åtgärderPdfAction.CreateUri, PdfAction.CreateGoTo, PdfAction.CreateJavaScript och PdfAction.CreateLaunch täcker de standard PDF‑åtgärdstyperna.
  • AnnotationerAnnotationCollection.AddLinkAnnotation bifogar en länkanotation med en associerad åtgärd till valfri rektangulär region på en sida.
  • FormulärAspose.Pdf.Forms‑namnutrymmet och Aspose.Pdf.Facades ger åtkomst till AcroForm‑fält, utseendeformatering och fält‑nivå JavaScript‑tillägg.

Öppna ett dokument och lägga till en länk

Följande exempel demonstrerar round‑trip‑mönstret: skapa ett nytt PDF‑dokument, lägg till en URI‑åtgärdslänkanotering på den första sidan, spara till en ström och ladda om för att verifiera att noteringen kvarstår.

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

Den Document.Open statiska metoden accepterar en byte[] eller en ström. doc.Pages[1] får åtkomst till den första sidan med ett 1-baserat index — samma indexkonvention som används i hela biblioteket. Efter att ha sparat till en MemoryStream kan dokumentet laddas om och alla annotationer bevaras.


Söka text på en sida

TextFragmentAbsorber tillhandahåller nyckelordsökning i innehållsströmmen för vilken sida som helst. Skicka en sökfras till konstruktorn för att begränsa resultaten, eller använd överlagringen utan argument för att samla alla 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}");
}

Varje TextFragment i den resulterande samlingen exponerar egenskaper inklusive Text, FontSize och positionsdata, vilket gör det enkelt att bygga sök‑, markerings‑ eller raderingsarbetsflöden ovanpå de extraherade fragmenten.


MIT-licens och öppen utveckling

All källkod publiceras på GitHub och distribueras under MIT-licensen. Det finns ingen utvärderingsvattenstämpel, ingen användningsgräns och ingen separat licensfil att hantera. Egenskapen Document.IsLicensed returnerar alltid true i FOSS-bygget.

Paketet är för närvarande på version 0.1.0-alpha, vilket speglar aktiv utveckling. API-ytan är redan betydande — 805 klasser, 7 488 påståenden — och alpha‑beteckningen signalerar att API‑signaturer kan förändras innan 1.0‑utgåvan.


Kom igång

Relaterade resurser