Delphi için PDF yaşam döngüsünün tamamı, dağıtılacak DLL olmadan
Tamamen Object Pascal ile yazılmış bileşenlerle PDF dosyalarını oluşturun, düzenleyin, görüntüleyin, işleyin, çıkarın, şifreleyin, imzalayın, sansürleyin ve doğrulayın. Ayrıştırıcı, yazıcı, yazı tipleri, görüntü kod çözücüleri, işleyiciler ve kriptografi uygulamanıza derlenir, böylece gönderilecek harici bir PDF motoru yoktur. PDF 1.0'dan 2.0'a okuma ve yazma, Delphi 7'den 13'e ve C++ Builder'a kadar desteklenir.
sgcPDF; PDFium, Ghostscript, bir COM sunucusu veya başka bir yerel kütüphaneyi sarmalamaz. Ayrıştırma, yazma, yazı tipi gömme ve alt kümeleme, görüntü kod çözme, işleme, şifreleme ve imzalama sgcPDF_*.pas birimlerinde doğrudan uygulanır; böylece çalıştırılabilir dosyanız dağıtımın tamamıdır.
15Palet bileşeniBelge, düzenleyici, görüntüleyiciler, çıkarıcılar ve imzalama. Her biri form olmadan, konsol uygulamalarından ve servislerden de kullanılabilir.
0Dağıtılacak DLLDLL, harici PDF motoru veya OpenSSL yoktur. Ayrıştırıcı, işleyici, yazı tipleri ve kriptografi Pascal ile yazılmıştır.
5İşletim sistemiWindows, Linux, macOS, iOS ve Android. Çekirdek birimlerin VCL veya FMX bağımlılığı yoktur.
6PDF/A uyumluluk düzeyiPDF/A-1, 2 ve 3'ün a ve b düzeyleri, ayrıca PDF/UA-1 kontrolleri.
100%Kaynak kodu dahilTam kaynak kodu her lisansla birlikte gelir, böylece bir işleme veya imzanın her adımını kendiniz okuyabilirsiniz.
PDF
sgcPDF
Delphi ve C++ Builder için saf Pascal bir PDF kütüphanesi olan sgcPDF, ayrı olarak lisanslanır ve tek bir geliştirici için €249 fiyatından başlar. Her lisans tam kaynak kodu, 1 yıllık güncellemeler ve 70% yenileme indirimi içerir.
Yazdığınız ilk sayfadan imzalanıp arşivlenip sansürlenerek teslim ettiğiniz dosyaya kadar, her adım aynı Object Pascal kod tabanında çalışır.
Oluşturma
Koddan, HTML'den veya Bir Tuvalden Belgeler
Sayfalar, 14 standart yazı tipinde veya gömülü ve alt kümelenmiş TrueType ve OpenType yazı tiplerinde metin, görüntüler (JPEG, PNG, BMP, TIFF), çizgiler, eğriler, gradyanlar, sayfalar arasında akan tablolar, barkodlar ve QR kodları, açıklamalar, yer imleri ve isteğe bağlı içerik katmanları oluşturun. TsgcPDFHTMLRenderer, CSS içeren HTML'yi sayfalanmış PDF'ye dönüştürür; TsgcPDFCanvas ve EMF oynatma ise mevcut çizim kodunuzu dönüştürür.
RC4 40/128, AES-128 ve AES-256 ile parola şifreleme, sertifika şifreleme ve TsgcPDFSignatureHandler aracılığıyla görünür alanlı ve zaman damgalı dijital imzalar sağlanır. TsgcPDFSignatureVerifier her imzanın bütünlüğünü, bayt aralığı kapsamını ve sertifika zincirini denetler; TsgcPDFRedactor ise içeriği kapatmak yerine kaldırır, böylece kaldırılan metin daha sonra çıkarılamaz.
TsgcPDFEditor ile filigranlar, üst bilgiler, alt bilgiler, sayfa numaraları ve damgalar ekleyin; sayfaları birleştirin, bölün, çıkarın, ekleyin, silin, döndürün ve yeniden sıralayın. Artımlı kaydetme, orijinal dosyaya yeni bir revizyon ekler, böylece önceki imzalar geçerliliğini korur.
VCL ve FMX Görüntüleyiciler, Ayrıca Bir Sunucu İşleyicisi
TsgcPDFViewerControl, VCL'ye küçük resimler, taslak, metin seçimi, arama, form doldurma ve yazdırma özellikleri getirir; TsgcPDFViewerFMX Windows, macOS, iOS ve Android'i kapsar; TsgcPDFRendererRaster ise GDI olmadan Windows ve Linux sunucularında sayfaları PNG'ye dönüştürür.
TsgcPDFTextExtractor ile sayfa başına veya belgenin tamamı için düz metni, koordinat, yazı tipi ve boyut bilgisiyle parçaları çıkarın; TsgcPDFImageExtractor ile sayfa görüntülerini PNG, JPEG veya BMP olarak kod çözün. Kod çözücüler Flate, LZW, JPEG 2000, CCITT G3/G4 ve JBIG2'yi kapsar.
Yerleşik TsgcPDFAValidator ile a ve b düzeylerinde PDF/A-1, PDF/A-2 ve PDF/A-3 çıktısı, bir yapı ağacı ve alternatif metin içeren etiketli PDF, PDF/UA-1 kontrolleri ve Factur-X, ZUGFeRD ve XRechnung e-fatura gömme sağlanır.
Koordinatlar PDF puan (1/72 inç) biriminde olup başlangıç noktası sayfanın sol alt köşesindedir. Aşağıdaki her sınıf ve yöntem sgcPDF_*.pas birimlerinin bir parçasıdır.
var
oPDF: TsgcPDFDocument;
oPage: TsgcPDFPage;
begin
oPDF := TsgcPDFDocument.Create;
try
oPDF.Info.Title := 'Hello sgcPDF';
// A4 portrait: 595 x 842 points
oPage := oPDF.AddPage(595, 842);
oPage.DrawTextColor('Hello sgcPDF', 50, 780, sfHelveticaBold, 24, 0, 0.2, 0.6);
oPage.DrawLine(50, 770, 545, 770, 1.5);
oPage.DrawText('A PDF written in pure Pascal.', 50, 740, sfHelvetica, 12);
// user password opens the file, owner password grants full rights
oPDF.SetEncryption(emAES_256, 'user123', 'owner456');
oPDF.SaveToFile('hello.pdf');
finally
oPDF.Free;
end;
end;
var
oSigner: TsgcPDFSignatureHandler;
begin
oSigner := TsgcPDFSignatureHandler.Create;
try
oSigner.LoadCertificateFromPFX('signer.pfx', 'test123');
oSigner.Reason := 'Document approval';
oSigner.Location := 'Barcelona';
oSigner.HashAlgorithm := shaSHA256;
// visible signature field on page 1: Left, Bottom, Right, Top
oSigner.SetField('Signature1', 0, 50, 50, 250, 100);
oSigner.SignDocument('contract.pdf', 'contract-signed.pdf');
finally
oSigner.Free;
end;
end;
var
oPDF: TsgcPDFDocument;
oRenderer: TsgcPDFRendererRaster;
oPage: TsgcPDFPage;
begin
oPDF := TsgcPDFDocument.Create;
try
oPDF.LoadFromFile('report.pdf');
oPage := oPDF.Pages[0];
// pure Pascal rasterizer: no GDI, runs on Windows and Linux servers
oRenderer := TsgcPDFRendererRaster.Create;
try
oRenderer.RenderPageToPNG(oPDF.Parser, oPage.PageDict,
Round(oPage.Width * 150 / 72), Round(oPage.Height * 150 / 72),
'page1.png');
finally
oRenderer.Free;
end;
finally
oPDF.Free;
end;
end;
HTML'den PDF'ye dönüştürme, PAdES ve sansürleme dahil daha fazla örnek var. Tüm özellik matrisi →
BAŞLAMADAN ÖNCE
Önce Bilinmesi Gereken Üç Şey
Ne dağıttığınız, hangi parçaların nerede çalıştığı ve gelişmiş imzaların nasıl uyduğu. Üç yanıt da kısadır ve üçü de küçük yazılar arasında değil, doğrudan bu sayfada yer alır.
Çalıştırılabilir dosya, dağıtımın tamamıdır. Çekirdek birimlerin VCL veya FMX bağımlılığı yoktur, böylece aynı kod bir konsol aracında, bir Windows servisinde, bir Linux daemon'unda veya bir web sunucusunda çalışır.
Hangi Parçalar Nerede Çalışır
Oluşturma, düzenleme, metin ve görüntü çıkarma, formlar, şifreleme, imzalar, sansürleme, PDF/A ve raster işleyici; Windows ve Linux64 için, ayrıca macOS, iOS ve Android için derlenir. GDI işleyici, dışa aktarıcı ve VCL görüntüleyici denetimleri yalnızca Windows'tadır; TsgcPDFViewerFMX ise Windows, macOS, iOS ve Android'i kapsar.
Temel İmzalama Yerleşik, PAdES sgcSign Üzerinden
sgcPDF, bir PFX sertifikasıyla PDF dosyalarını tek başına imzalar ve doğrular. PAdES temel düzeyleri B-B, B-T, B-LT ve B-LTA için, ayrıca akıllı kartlarda, Windows sertifika deposunda veya bulut HSM'lerinde tutulan anahtarlar için isteğe bağlı TsgcPDFPAdESSigner köprüsü, ayrı olarak lisanslanan sgcSign'ın anahtar sağlayıcılarını kullanır.
Delphi ve C++ Builder
Delphi 7'den 13'e kadar, ve oluşturulmuş başlıklarla C++ Builder 2007'den 13'e kadar çalışma zamanı ve tasarım zamanı paketleri sağlanır. Deneme sürümü indirmeleri henüz açık değildir, bu nedenle bir deneme sürümü isteyin ve IDE sürümünüze uygun kurulum dosyasını alın.
PDF 1.0'dan 2.0'aPDF/A-1, 2, 3PDF/UA-1PAdES B-B'den B-LTA'yaTam kaynak
sgcPDF, yerel bir PDF motorunu sarmalamak yerine ayrıştırıcıyı, yazıcıyı, yazı tiplerini, görüntü kod çözücülerini, işleyicileri ve kriptografiyi kendisi uygular; böylece sürüm eşleştirmeniz gereken hiçbir şey yoktur ve arada hiçbir kara kutu bulunmaz.
EKOSİSTEM
On Beş Kütüphane, Tek Araç Kutusu
sgcPDF, Delphi, C++ Builder ve .NET için on beş eSeGeCe bileşen kütüphanesinden biridir. Ortak kurallar paylaşırlar ve tam kaynak koduyla gelirler. sgcPDF, All-Access paketinin dışında, ayrı olarak lisanslanır.
sgcCrypto
43 saf Object Pascal biriminde AEAD şifreleme, özetleme ve KDF'ler, imzalar, X.509 ve post-quantum kriptografi. sgcWebSockets Standard ve üzerinde dahildir ya da bağımsız olarak satılır.
Delphi ve C++ Builder için REST sunucusu, OpenAPI sunucusu ve OpenAPI istemci bileşenleri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.
Delphi ve C++ Builder için HTTP/2 istemcisi, gRPC istemcisi ve Google Cloud Pub/Sub, Calendar ve FCM istemcileri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.
Delphi, C++ Builder, Lazarus ve .NET için WebSocket, HTTP/2, MQTT, AMQP, WebRTC, yapay zeka ve 30+ API entegrasyonu. Enterprise sürümü gRPC'yi de içerir.
Delphi ve C++ Builder için MQTT, AMQP 0.9.1 ve 1.0, Apache Kafka ve STOMP istemci bileşenleri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.
Delphi ve C++ Builder için yapay zeka, LLM ve MCP bileşenleri. Tek bir bileşenin arkasında yedi LLM sağlayıcısı, ayrıca MCP, embeddings ve konuşma. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.
PDF dosyalarını saf Object Pascal ile oluşturma, düzenleme, görüntüleme, imzalama, sansürleme ve doğrulama; dağıtılacak DLL yok. Ayrı olarak lisanslanır.