PDF Belgelerini İşleme için Ücretsiz .NET API'leri
PDF'leri oluşturmak, düzenlemek, yüklemek ve değiştirmek için Açık Kaynak .NET Kitaplığı. PDF Dosyalarına yeni sayfalar, tablolar, resimler, Metin ve şekiller ekleyin.
QuestPDF, yazılım geliştiricilerin PDF belgelerini kolaylıkla oluşturmasına, okumasına, değiştirmesine ve değiştirmesine olanak tanıyan çok kullanışlı bir açık kaynaklı modern .NET kitaplığıdır. Kitaplık çok zengin özelliklere sahiptir ve tam sayfalama desteği düşünülerek tasarlanmış yerleşim motoru sunar. Kitaplığın kullanımı çok kolaydır ve kesinlikle geliştirme yaşam döngünüzü hızlandırabilir. Kitaplık, çalışırken yeniden yükleme özelliğini destekler; bu, geliştiricilere kodu yeniden derlemeye gerek kalmadan gerçek zamanlı sonuçlar sağladığı anlamına gelir.
QuestPDF kitaplığı çok akıcıdır ve en karmaşık belgelerden bazılarını yalnızca birkaç satır kodla oluşturmak, özelleştirmek ve yönetmek çok kolaydır. Basit metin çizme, özel stilli metin çizme, sayfalama desteği, özel yazı tipleri desteği, harf aralığı, özel paragraf aralığı, Unicode desteği, resim ekleme, görüntünün en boy oranını yönetme, kenarlık oluşturma, ekleme gibi kitaplığın diğer bazı özellikleri vardır. köprüler, içerik ve görüntü döndürme vb.
QuestPDF'ye Başlarken
QuestPDF kitaplığı bir nuget paketi olarak mevcuttur. Bu nedenle, projenize QuestPDF'yi yüklemek için NuGet'i kullanmanız önemle tavsiye edilir. Başarılı kurulum için lütfen aşağıdaki komutu kullanın.
Nuget'ten QuestPDF'yi yükleyin
// Package Manager
Install-Package QuestPDF
// .NET CLI
dotnet add package QuestPDF
// Package reference in .csproj file
Manuel olarak da kurabilirsiniz; en son sürüm dosyalarını doğrudan GitHub deposundan indirin.
.NET Library ile Kolay PDF Oluşturma
Açık kaynaklı PDF kitaplığı QuestPDF, yazılım geliştiricilerin kendi uygulamaları içinde bir PDF belgesi oluşturmak için yalnızca birkaç basit .NET kod komutunu kullanmalarına olanak tanır. Kitaplık, geliştiricilerin sayfa boyutunu, kenar boşluklarını, arka plan rengini, metin stilini, yazı tipi boyutunu, sayfa üstbilgisini ve altbilgisini, sayfa içeriğini, boşlukları vb. tanımlamasını kolaylaştırır. Mevcut PDF dosyalarınızı güncellemek de çok kolaydır.
.NET Kitaplığı aracılığıyla PDF Dosyaları Oluşturun
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
// code in your main method
Document.Create(container =>
{
container.Page(page =>
{
page.Size(PageSizes.A4);
page.Margin(2, Unit.Centimetre);
page.PageColor(Colors.White);
page.DefaultTextStyle(x => x.FontSize(20));
page.Header()
.Text("Hello PDF!")
.SemiBold().FontSize(36).FontColor(Colors.Blue.Medium);
page.Content()
.PaddingVertical(1, Unit.Centimetre)
.Column(x =>
{
x.Spacing(20);
x.Item().Text(Placeholders.LoremIpsum());
x.Item().Image(Placeholders.Image(200, 100));
});
page.Footer()
.AlignCenter()
.Text(x =>
{
x.Span("Page ");
x.CurrentPageNumber();
});
});
})
.GeneratePdf("hello.pdf");
C# API aracılığıyla Metin ve Biçimlendirmeyi Yönetin
QuestPDF kitaplığı, metin eklemenin yanı sıra PDF belgelerinin içine metin çizimi yapmak için birçok önemli özellik sağlamıştır. Geliştiricilerin varsayılan stilin yanı sıra özel stil, alt simge ve üst simge ile metin çizmesini, metin satırlarını ayarlamasını, harf aralığını ayarlamasını, yazı tipi hizalamasını, tipografi modelini ayarlamasını, özel paragraf aralığını, metin yönünü ayarlamasını, sayfa numaralarını enjekte etmesini, köprü eklemesini vb. sağlar. üzerinde.
.NET Kitaplığı aracılığıyla PDF Dosyalarında Alt Simge ve Üst Simge
.Text(text =>
{
text.DefaultTextStyle(x => x.FontSize(20));
text.ParagraphSpacing(10);
var highlight = TextStyle.Default.BackgroundColor(Colors.Green.Lighten3);
text.Span("E=mc").Style(highlight);
text.Span("2").Superscript().Style(highlight);
text.Span(" is the equation of mass–energy equivalence.");
text.EmptyLine();
text.Span("H").Style(highlight);
text.Span("2").Subscript().Style(highlight);
text.Span("O").Style(highlight);
text.Span(" is the chemical formula for water.");
});
C# Kitaplığı aracılığıyla PDF'de Görüntüleri Ekleyin ve Yönetin
Açık kaynaklı PDF kitaplığı QuestPDF, C# .NET uygulamaları içine statik ve dinamik görüntüler eklemek için eksiksiz destek içerir. Yazılım geliştiriciler, PDF belgelerinin içine JPG, PNG, BMB vb. gibi herhangi bir yaygın raster görüntü biçiminde kolayca statik görüntüler yerleştirebilirler. Dinamik görüntüler için esnek düzenler sunar, bu nedenle görüntü çözünürlüğünü tahmin etmek zordur. En iyi görüntü netliğini elde etmek için, belirtilen çözünürlükte görüntüler oluşturmanız önerilir. Haritalar / çizelgeler oluşturmak için çok kullanışlıdır.
.NET Kitaplığı aracılığıyla PDF'ye Görüntüler Ekleyin
// it is possible to provide an image as:
// 1) a binary array
byte[] imageData = File.ReadAllBytes("path/to/logo.png")
container.Image(imageData)
// 2) a fileName
container.Image("path/myFile.png")
// 3) a stream
using var stream = new FileStream("logo.png", FileMode.Open);
container.Image(stream);
C# API aracılığıyla PDF'ye Tablo Ekleme
QuestPDF, bilgisayar programcılarının Satır ve Sütun öğelerinin herhangi bir kombinasyonundan daha karmaşık yapılar elde etmelerini sağlar. Basit bir tablo örneği oluşturmak için kullanıcıların her bir sütunun genişliğini tanımlaması ve ardından içine herhangi bir sayıda satır ve sütun yerleştirmesi gerekir. Kitaplık, tablo üstbilgisi veya altbilgisi ekleme, yeni satırlar ekleme, yeni hücreler ekleme, hücreleri kaldırma, Satır açıklıkları ve sütun açıklıkları, üst üste binen hücreler ve daha pek çok özelliği destekler.
.NET Kitaplığı aracılığıyla PDF Dosyasında Basit Tablo Oluşturun
.Border(1)
.Table(table =>
{
table.ColumnsDefinition(columns =>
{
columns.RelativeColumn();
columns.RelativeColumn();
columns.RelativeColumn();
columns.RelativeColumn();
});
// by using custom 'Element' method, we can reuse visual configuration
table.Cell().Row(1).Column(4).Element(Block).Text("A");
table.Cell().Row(2).Column(2).Element(Block).Text("B");
table.Cell().Row(3).Column(3).Element(Block).Text("C");
table.Cell().Row(4).Column(1).Element(Block).Text("D");
// for simplicity, you can also use extension method described in the "Extending DSL" section
static IContainer Block(IContainer container)
{
return container
.Border(1)
.Background(Colors.Grey.Lighten3)
.ShowOnce()
.MinWidth(50)
.MinHeight(50)
.AlignCenter()
.AlignMiddle();
}
});