Aspose.PDF FOSS for .NET היא ספרייה חינמית, ברישיון MIT ל‑.NET לקריאה, יצירה והפעלת מסמכי PDF. שוחררה תחת רישיון קוד פתוח מתיר, היא מסירה את המחסום המסורתי ליכולות PDF ברמת ארגון — כל תכונה בספרייה זמינה ללא צורך ברכישת רישיון מסחרי.
מהו Aspose.PDF FOSS עבור .NET?
הספרייה ממוקדת ב-.NET 8 ומעלה. היא מתפרסמת ב‑NuGet תחת מזהה החבילה Aspose.Pdf.Foss וניתן להוסיף אותה לכל פרויקט .NET 8+ עם פקודה אחת:
dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha
המרחב השם הראשי הוא Aspose.Pdf, עם מרחבי שם קשורים כולל Aspose.Pdf.Text, Aspose.Pdf.Forms ו‑Aspose.Pdf.Facades. הספרייה מציגה 805 מחלקות API ציבוריות הנתמכות ב‑7,488 תביעות מתועדות ו‑100 קטעי קוד שנלקחו ישירות ממערכת הבדיקות.
יכולות ליבה
ה-API מכסה את מחזור החיים המלא של מסמך PDF:
- יצירת מסמך וטעינה —
Document.Create()מייצר מסמך ריק;Document.Open(data)טוען PDF קיים ממערך בתים או זרם. - גישה לדפים ולתוכן — האוסף
Pagesמספק גישה ממוספרת מבוססת‑1 לדפים בודדים, שכל אחד מהם חושף הסברים, מפעילים, וזרמי תוכן. - חילוץ טקסט —
TextFragmentAbsorberמבקר בדף ואוסף כל קטע טקסט, עם אפשרות לסינון לפי ביטוי חיפוש ותמיכה בביטויים רגולריים. - פעולות אינטראקטיביות —
PdfAction.CreateUri,PdfAction.CreateGoTo,PdfAction.CreateJavaScriptו‑PdfAction.CreateLaunchמכסים את סוגי הפעולות הסטנדרטיים של PDF. - הסברים —
AnnotationCollection.AddLinkAnnotationמצרף הסבר קישור עם פעולה משויכת לכל אזור מלבני בדף. - טפסים — המרחב השמות
Aspose.Pdf.Formsו‑Aspose.Pdf.Facadesמספקים גישה לשדות AcroForm, עיצוב מראה, והרחבות JavaScript ברמת השדה.
פתיחת מסמך והוספת קישור
הדוגמה הבאה מדגימה את תבנית הסיבוב: יצירת מסמך PDF חדש, הוספת אנוטציה של קישור פעולה URI לעמוד הראשון, שמירה לזרם, וטעינה מחדש כדי לאמת שהאנוטציה נשמרת.
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
המתודה הסטטית Document.Open מקבלת byte[] או זרם. doc.Pages[1] ניגשת לדף הראשון באמצעות אינדקס מבוסס 1 — אותה קונבנציה של אינדקס המשמשת בכל הספרייה. לאחר שמירת הקובץ ל-MemoryStream, ניתן לטעון מחדש את המסמך וכל ההערות נשמרות.
חיפוש טקסט בדף
TextFragmentAbsorber מספק חיפוש מילות מפתח על זרם התוכן של כל דף. העבר מחרוזת חיפוש לבונה כדי להגביל תוצאות, או השתמש בגרסה ללא ארגומנטים כדי לאסוף את כל הקטעים:
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}");
}
כל TextFragment באוסף המתקבל חושף מאפיינים כולל Text, FontSize, ונתוני מיקום, מה שמאפשר לבנות תהליכי חיפוש, הדגשה או הסתרה על גבי הקטעים המופקים בקלות.
רישיון MIT ופיתוח פתוח
כל קוד המקור מתפרסם ב‑GitHub ומופץ תחת רישיון MIT. אין סימן מים של הערכה, אין מגבלת שימוש, ואין קובץ רישיון נפרד לניהול. המאפיין Document.IsLicensed תמיד מחזיר true בבנייה של FOSS.
החבילה נמצאת כרגע בגרסה 0.1.0-alpha, משקפת פיתוח פעיל. ממשק ה-API כבר משמעותי — 805 מחלקות, 7,488 תביעות — והסימון אלפא מצביע על כך שחתימות ה-API עשויות להשתנות לפני שחרור 1.0.