Aspose.PDF FOSS for .NET, PDF belgelerini okuma, oluşturma ve işleme için ücretsiz, MIT lisanslı bir .NET kütüphanesidir. İzin verici bir açık kaynak lisansı altında yayınlanmıştır ve kurumsal düzeyde PDF yeteneklerine gelen geleneksel engeli ortadan kaldırır — kütüphanedeki her özellik, ticari bir lisans satın almadan kullanılabilir.

Aspose.PDF FOSS for .NET Nedir?

Kütüphane .NET 8 ve sonraki sürümleri hedef alır. NuGet’te paket kimliği Aspose.Pdf.Foss altında yayınlanmıştır ve tek bir komutla herhangi bir .NET 8+ projesine eklenebilir:

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

Birincil ad alanı Aspose.Pdf, ilgili ad alanları Aspose.Pdf.Text, Aspose.Pdf.Forms ve Aspose.Pdf.Facades‘yi içerir. Kütüphane, test paketinden doğrudan çıkarılan 7,488 belgelenmiş iddia ve 100 kod parçacığıyla desteklenen 805 public API sınıfını sunar.

Temel Yetkinlikler

API, bir PDF belgesinin tam yaşam döngüsünü kapsar:

  • Belge oluşturma ve yüklemeDocument.Create() boş bir belge üretir; Document.Open(data) bir bayt dizisinden veya akıştan mevcut bir PDF yükler.
  • Sayfa ve içerik erişimiPages koleksiyonu, bireysel sayfalara 1 tabanlı indeksli erişim sağlar; her biri ek açıklamaları, operatörleri ve içerik akışlarını ortaya çıkarır.
  • Metin çıkarmaTextFragmentAbsorber bir sayfayı ziyaret eder ve her metin parçacığını toplar; isteğe bağlı arama ifadesi filtreleme ve düzenli ifade desteği ile.
  • Etkileşimli eylemlerPdfAction.CreateUri, PdfAction.CreateGoTo, PdfAction.CreateJavaScript ve PdfAction.CreateLaunch standart PDF eylem türlerini kapsar.
  • Ek açıklamalarAnnotationCollection.AddLinkAnnotation bir sayfadaki herhangi bir dikdörtgen bölgeye ilişkili bir eylemle bir bağlantı ek açıklaması ekler.
  • FormlarAspose.Pdf.Forms ad alanı ve Aspose.Pdf.Facades AcroForm alanlarına, görünüm biçimlendirmesine ve alan düzeyinde JavaScript uzantılarına erişim sağlar.

Bir Belge Açma ve Bağlantı Ekleme

Aşağıdaki örnek, tur-geri dönüşüm desenini gösterir: yeni bir PDF belgesi oluşturun, ilk sayfaya bir URI eylem bağlantı açıklaması ekleyin, bir akışa kaydedin ve açıklamanın kalıcı olduğunu doğrulamak için yeniden yükleyin.

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 statik yöntemi bir byte[] veya bir akışı kabul eder. doc.Pages[1], kütüphane genelinde kullanılan aynı indeks konvansiyonuyla 1 tabanlı indeksle ilk sayfaya erişir. Bir MemoryStream‘e kaydedildikten sonra, belge yeniden yüklenebilir ve tüm açıklamalar korunur.


Bir Sayfada Metin Arama

TextFragmentAbsorber herhangi bir sayfanın içerik akışı üzerinde anahtar kelime araması sağlar. Sonuçları sınırlamak için yapıcıya bir arama ifadesi geçirin veya tüm parçacıkları toplamak için parametresiz aşırı yüklemeyi kullanın:

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

Sonuçta oluşan koleksiyondaki her TextFragment, Text, FontSize ve konumsal verileri içeren özellikleri ortaya çıkarır, bu da çıkarılan parçalar üzerinde arama, vurgulama veya kırpma iş akışları oluşturmayı kolaylaştırır.


MIT Lisansı ve Açık Geliştirme

Tüm kaynak kodu GitHub’ta yayınlanmış ve MIT Lisansı altında dağıtılmaktadır. Değerlendirme filigranı yok, kullanım sınırı yok ve yönetilecek ayrı bir lisans dosyası yok. Document.IsLicensed özelliği, FOSS derlemesinde her zaman true döndürür.

Paket şu anda 0.1.0-alpha sürümünde, aktif geliştirmeyi yansıtıyor. API yüzeyi zaten önemli — 805 sınıf, 7.488 talep — ve alfa tasarımı, API imzalarının 1.0 sürümünden önce evrimleşebileceğini gösteriyor.


Başlarken

İlgili Kaynaklar