Delphi 7 - 13 & C++ Builder DLL Yok

sgcPDF, Delphi ve C++ Builder için Saf Pascal PDF Kütüphanesi

Tamamen Object Pascal ile yazılmış bileşenlerle PDF dosyaları oluşturun, düzenleyin, görüntüleyin, işleyin, çıkarın, şifreleyin, imzalayın, karartın ve doğrulayın. Dağıtılacak bir DLL veya harici bir PDF motoru yoktur: ayrıştırıcı, yazar, yazı tipleri, görüntü çözücüleri, işleyiciler ve kriptografi uygulamanızın içine derlenir. Çekirdek, Windows, Linux, macOS, iOS ve Android üzerinde çalışır; bir VCL görüntüleyici denetimi, bir FireMonkey görüntüleyici ve sunucular için bir raster işleyici sunar. Tam kaynak kod dahildir.

Tam Kaynak Kod
Windows, Linux, macOS, iOS & Android
Delphi 7 → 13, C++ Builder
NuGet’te .NET Sürümü
Sıfır Harici Bağımlılık
20 Bileşen sgcPDF_*.pas PDF 1.0 - 2.0, okuma ve yazma, saf Object Pascal ile.
Oluştur TsgcPDFDocument
Düzenle TsgcPDFEditor
Görüntüle TsgcPDFViewerControl
Çıkar TsgcPDFTextExtractor
İmzala PAdES B-B to B-LTA
PDF/A & PDF/UA TsgcPDFAValidator
Karart TsgcPDFRedactor
20 Palet Bileşenleri Belge, düzenleyici, görüntüleyiciler, çıkarıcılar, imzalama
0 Dağıtılacak DLL Ayrıştırıcı, işleyici, yazı tipleri ve kriptografi Pascal ile
5 İşletim Sistemleri Windows, Linux, macOS, iOS, Android
8 PDF/A Uygunluk Seviyeleri PDF/A-1, 2 ve 3 (a ve b seviyeleri), PDF/A-4 ve 4f, artı PDF/UA-1 ve PDF/UA-2

Önce Bilinmesi Gereken Üç Şey

Hedef Makineye Kurulacak Hiçbir Şey Yok

sgcPDF; PDFium, Ghostscript, bir COM sunucusu veya başka bir yerel kitaplığı sarmalamaz. Ayrıştırma, yazma, yazı tipi gömme ve alt kümeleme, görüntü çözme, işleme, şifreleme ve imzalama sgcPDF_*.pas birimlerinde uygulanır; böylece çalıştırılabilir dosyanız dağıtımın tamamıdır.

Çekirdek birimlerin VCL veya FMX bağımlılığı yoktur; bu nedenle aynı kod bir konsol aracında, bir Windows hizmetinde, bir Linux daemonında veya bir web sunucusunda çalışır.

Platform Kapsamı

Hangi Kısımlar 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 ile 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 hedefler. .NET’te görüntüleyici denetimleri WinForms, WPF ve Avalonia için mevcuttur.

Gelişmiş İmzalar

sgcSign üzerinden PAdES, temel imzalama dahili

sgcPDF, bir PFX sertifikasıyla PDF dosyalarını tek başına imzalar ve doğrular. PAdES taban Şeviyeleri B-B, B-T, B-LT ve B-LTA için ve akıllı kartlarda, Windows sertifika deposunda veya bulut HSM’lerinde tutulan anahtarlar için, isteğe bağlı TsgcPDFPAdESSigner köprüsü, ayrıca lisanslanan sgcSign’in anahtar sağlayıcılarını kullanır.

Tüm PDF Yaşam Döngüsü İçin Tek Kütüphane

Yazdığınız ilk sayfadan, teslim ettiğiniz imzalanmış, arşivlenmiş ve sansürlenmiş dosyaya kadar her adım aynı Object Pascal kod tabanında çalışır.

Oluştur: Koddan, HTML’den veya bir Kanvastan Belgeler

Sayfalar, 14 standart yazı tipinde veya gömülü/alt küme TrueType ve OpenType yazı tiplerinde metin, görüntüler (JPEG, PNG, BMP, TIFF), çizgiler, eğriler, gradyanlar, sayfalar arasında akışan tablolar, barkodlar ve QR kodları, notlar ve yanıt zincirli yorumlar, yer imleri ve isteğe bağlı içerik katmanları. Son kullanıcılar ayrıca doğrudan görüntüleyicilerde fareyle not ekleyebilir, düzenleyebilir ve yanıtlayabilir. TsgcPDFHTMLRenderer, CSS içeren HTML’yi sayfalanmış PDF’ye dönüştürür; TsgcPDFCanvas ve EMF oynatma ise mevcut çizim kodunu dönüştürür.

Özellikleri Görüntüle →

Düzenle: Yazmadığınız Dosyaları Değiştirin

Filigranlar, başlık ve altbilgiler, sayfa numaraları ve damgalar, birleştirme ve bölme, çıkarma, ekleme, silme, döndürme ve sayfaları yeniden sıralama. Artımlı kaydetme, orijinal dosyaya yeni bir revizyon ekler ve böylece önceki imzalar geçerli kalır.

Özellikleri Görüntüle →

Görüntüle ve İşle: VCL, FMX, WinForms, WPF ve Avalonia Görüntüleyiciler, artı Sunucu İşleyicisi

Küçük resimler, ana hat, yorum paneli, metin seçimi, arama, form doldurma ve yazdırma sunan bir VCL görüntüleyici denetimi, Windows, macOS, iOS ve Android için kutu yakınlaştırmalı bir FireMonkey görüntüleyici, WinForms, WPF ve Avalonia için .NET görüntüleyiciler ve GDI olmadan Windows ile Linux sunucularında sayfaları PNG’ye çeviren saf Object Pascal raster işleyici.

Özellikleri Görüntüle →

Çıkar: Metin, Konumlar ve Görüntüler

Sayfa başına veya tüm belge için düz metin, koordinat/yazı tipi/boyut bilgisiyle metin parçaları ve bir sayfanın görüntüleri PNG, JPEG veya BMP olarak çözülebilir. Çözücüler Flate, LZW, ASCII85, RunLength, JPEG (baseline ve progresif), JPEG 2000, CCITT G3/G4 ve JBIG2’yi kapsar.

Özellikleri Görüntüle →

Güvenliği Sağla ve İmzala: Şifreleme, İmzalar, Sansürleme

RC4 40/128, AES-128 ve AES-256 parola şifrelemesi, sertifika (genel anahtar) şifrelemesi, görünür alanlı ve zaman damgalı dijital imzalar, sgcSign köprüsü üzerinden PAdES B-B, B-T, B-LT ve B-LTA, imza doğrulama ve içeriği örtmek yerine kaldıran gerçek bir sansürleme.

Özellikleri Görüntüle →

Uyumluluk: PDF/A, PDF/UA, Etiketli PDF, Factur-X

Dahili doğrulayıcıyla a ve b seviyelerinde PDF/A-1, PDF/A-2 ve PDF/A-3 çıktısı, PDF/A-4 ve PDF/A-4f, yapı ağacı ve alternatif metinli etiketli PDF, PDF/UA-1 ve PDF/UA-2 çıktısı ve kontrolleri, PDF/A-3 ve PDF/A-4f ilişkileriyle gömülü dosyalar ve Factur-X, ZUGFeRD ile XRechnung e-fatura gömme.

Özellikleri Görüntüle →

Baskı: Sayfa Kutuları, Dizgi, İşaretler

Media, crop, bleed, trim ve art kutuları, dizgi için form olarak yerleştirilen diğer belgelerin sayfaları, kesim, taşma ve kayıt işaretleri, Separation ve DeviceN renkleri, bindirme baskı önizlemesi ve bir PDF/X çıktı amacı, Delphi ve .NET’te.

Özellikleri Görüntüle →

Birkaç Satır Delphi Kodu

Bu sayfadaki her örnek, sgcPDF kaynaklarına karşı derlenip çalıştırılan bir programdan alınmıştır. Koordinatlar PDF noktası (1/72 inç) cinsindendir ve başlangıç noktası sayfanın sol alt köşesindedir.

procedure CreateHelloPDF(const AFileName: string);
var
  oPDF: TsgcPDFDocument;
  oPage: TsgcPDFPage;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.Info.Title := 'Hello sgcPDF';
    // A4 portrait: 595 x 842 points, origin at the bottom left corner
    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);
    oPDF.SaveToFile(AFileName);
  finally
    oPDF.Free;
  end;
end;
procedure StampExistingPDF(const AInput, AOutput: string);
var
  oEditor: TsgcPDFEditor;
  oWatermark: TsgcPDFWatermarkOptions;
begin
  oEditor := TsgcPDFEditor.Create;
  try
    oEditor.LoadFromFile(AInput);
    oWatermark.Text := 'CONFIDENTIAL';
    oWatermark.Font := sfHelveticaBold;
    oWatermark.FontSize := 48;
    oWatermark.Rotation := 45;
    oWatermark.Opacity := 0.3;
    oWatermark.R := 0.5;
    oWatermark.G := 0.5;
    oWatermark.B := 0.5;
    oEditor.AddWatermarkAllPages(oWatermark);
    oEditor.AddPageNumbers(sfHelvetica, 10, 'Page %d of %d');
    oEditor.SaveToFile(AOutput);
  finally
    oEditor.Free;
  end;
end;
procedure PrintAllText(const AFileName: string);
var
  oPDF: TsgcPDFDocument;
  i: Integer;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.LoadFromFile(AFileName);
    for i := 0 to oPDF.PageCount - 1 do
      WriteLn(string(oPDF.ExtractTextW(i)));
  finally
    oPDF.Free;
  end;
end;
procedure RenderPageToPNG(const APDFFile, APNGFile: string; ADPI: Integer);
var
  oPDF: TsgcPDFDocument;
  oRenderer: TsgcPDFRendererRaster;
  oPage: TsgcPDFPage;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.LoadFromFile(APDFFile);
    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 * ADPI / 72), Round(oPage.Height * ADPI / 72),
        APNGFile);
    finally
      oRenderer.Free;
    end;
  finally
    oPDF.Free;
  end;
end;
procedure CreateTicketPDF(const aFileName: string);
var
  oPDF: TsgcPDFDocument;
  oPage: TsgcPDFPage;
  oSymbol: TsgcPDFBarcodeSymbol;
begin
  oPDF := TsgcPDFDocument.Create(nil);
  oSymbol := TsgcPDFBarcodeSymbol.Create;
  try
    oPDF.Info.Title := 'Ticket';
    oPage := oPDF.AddPage(595, 842);
    oPage.DrawText('Ticket 2026-001', 50, 780, sfHelveticaBold, 24);
    oPage.DrawLine(50, 770, 545, 770, 1.5);
    // Code 128 barcode in a 250 x 60 point box, black on white
    oSymbol.Symbology := bcCode128;
    oSymbol.Text := 'TKT-2026-001';
    oSymbol.DrawToPDF(oPage, 50, 680, 250, 60, $000000, $FFFFFF);
    // QR Code in a 120 x 120 point box
    oSymbol.Symbology := bcQRCode;
    oSymbol.QRErrorLevel := qrecQ;
    oSymbol.Text := 'https://www.esegece.com';
    oSymbol.DrawToPDF(oPage, 50, 540, 120, 120, $000000, $FFFFFF);
    oPDF.SaveToFile(aFileName);
  finally
    oSymbol.Free;
    oPDF.Free;
  end;
end;

Barkodu vektörel grafik olarak doğrudan sayfaya çizer. Birimler: sgcPDF_Document, sgcPDF_Barcodes, sgcPDF_Barcode_Symbol. TsgcPDFBarcodeSymbol konusuna ve barkod kılavuzuna bakın.

#include <System.hpp>
#include "sgcPDF_Document.hpp"
#include "sgcPDF_Barcodes.hpp"
#include "sgcPDF_Barcode_Symbol.hpp"

void __fastcall CreateTicketPDF(const String aFileName)
{
  TsgcPDFDocument *oPDF = new TsgcPDFDocument(NULL);
  TsgcPDFBarcodeSymbol *oSymbol = new TsgcPDFBarcodeSymbol();
  try
  {
    oPDF->Info->Title = "Ticket";
    TsgcPDFPage *oPage = oPDF->AddPage(595, 842);
    oPage->DrawText("Ticket 2026-001", 50, 780, sfHelveticaBold, 24);
    oPage->DrawLine(50, 770, 545, 770, 1.5);
    // Code 128 barcode in a 250 x 60 point box, black on white
    oSymbol->Symbology = bcCode128;
    oSymbol->Text = "TKT-2026-001";
    oSymbol->DrawToPDF(oPage, 50, 680, 250, 60, 0x000000, 0xFFFFFF);
    // QR Code in a 120 x 120 point box
    oSymbol->Symbology = bcQRCode;
    oSymbol->QRErrorLevel = qrecQ;
    oSymbol->Text = "https://www.esegece.com";
    oSymbol->DrawToPDF(oPage, 50, 540, 120, 120, 0x000000, 0xFFFFFF);
    oPDF->SaveToFile(aFileName);
  }
  __finally
  {
    delete oSymbol;
    delete oPDF;
  }
}

sgcPDF kaynaklarından üretilen C++ Builder başlık dosyalarıyla derlenmiştir. TsgcPDFBarcodeSymbol konusuna ve C++ Builder notlarına bakın.

using System;
using esegece.sgcPDF;

class Program
{
    static void Main()
    {
        using (TsgcPDFDocument oDoc = new TsgcPDFDocument())
        {
            oDoc.Info.Title = "Ticket";
            TsgcPDFPage oPage = oDoc.AddPage(595, 842);
            oPage.DrawText("Ticket 2026-001", 50, 780, TsgcPDFStandardFont.sfHelveticaBold, 24);
            oPage.DrawLine(50, 770, 545, 770, 1.5);

            // Code 128 barcode in a 250 x 60 point box, black on white
            TsgcPDFBarcodeSymbol oSymbol = new TsgcPDFBarcodeSymbol();
            oSymbol.Symbology = TsgcPDFBarcodeType.bcCode128;
            oSymbol.Text = "TKT-2026-001";
            oSymbol.DrawToPDF(oPage, 50, 680, 250, 60, 0x000000, 0xFFFFFF);

            // QR Code in a 120 x 120 point box
            oSymbol.Symbology = TsgcPDFBarcodeType.bcQRCode;
            oSymbol.QRErrorLevel = TsgcPDFQRErrorLevel.qrecQ;
            oSymbol.Text = "https://www.esegece.com";
            oSymbol.DrawToPDF(oPage, 50, 540, 120, 120, 0x000000, 0xFFFFFF);

            oDoc.SaveToFile("ticket.pdf");
        }
    }
}

.NET sınıfının WinForms veya GDI bağımlılığı yoktur, bu nedenle sunucularda ve konsol araçlarında da çalışır. .NET API farklarına bakın.

using System;
using esegece.sgcPDF;

class Program
{
    static void Main()
    {
        // Create a one page A4 document and save it
        using (TsgcPDFDocument oDoc = new TsgcPDFDocument())
        {
            TsgcPDFPage oPage = oDoc.AddPage(595, 842);
            oPage.DrawText("Hello from sgcPDF", 50, 780, TsgcPDFStandardFont.sfHelveticaBold, 24);
            oPage.DrawLine(50, 770, 545, 770, 1.0);
            oPage.DrawText("Created with sgcPDF .NET.", 50, 740, TsgcPDFStandardFont.sfHelvetica, 12);
            oDoc.SaveToFile("hello.pdf");
        }

        // Load it again and extract the text of every page
        using (TsgcPDFDocument oDoc = new TsgcPDFDocument())
        {
            oDoc.LoadFromFile("hello.pdf");
            for (int i = 0; i < oDoc.PageCount(); i++)
                Console.WriteLine(oDoc.ExtractTextW(i));
        }
    }
}
Code 128, Code 39, EAN-13, EAN-8, UPC-A, ITF, Codabar, QR Kod, DataMatrix, PDF417 ve GS1-128 sembollerini gösteren TsgcPDFBarcodeControl
Tek bir barkod denetimi, QR Kod, DataMatrix ve PDF417 dahil on bir semboloji

sgcPDF Paletindeki 20 Bileşen

Bunları bir forma veya veri modülüne sürükleyin ya da kodda oluşturun. Her bileşen, konsol uygulamalarından ve hizmetlerden form olmadan da kullanılabilir.

Tüm Bileşenler

Deneme ve Lisanslama

sgcPDF kendi başına lisanslanır, tek bir geliştirici için €249 fiyatından başlar. Tüm lisanslar tam kaynak kodunu, 1 yıllık güncellemeyi ve %50 ile %70 arasında yenileme indirimini içerir. Önce değerlendirmek isterseniz, ücretsiz denemeyi indirin. sgcPDF, sgcUI Enterprise ve All-Access paketine de dahildir.

sgcPDF

€249

Single, Team ve Site lisansları mevcuttur.

  • Tüm 20 Bileşen ve sgcPDF_*.pas Birimleri
  • Delphi 7 - 13 ve C++ Builder
  • Windows, Linux, macOS, iOS ve Android
  • Tam Kaynak Kod
  • 1 Yıllık Güncelleme

sgcPDF .NET

€249

Single, Team ve Site lisansları mevcuttur.

  • NuGet: esegece.sgcPDF
  • .NET Standard 2.0, .NET Framework 4.7.2, .NET 6, .NET 8, .NET 9, .NET 10
  • Tam Kaynak Kod
  • 1 Yıllık Güncelleme

.NET için sgcPDF

sgcPDF, Delphi kitaplığıyla aynı sınıf adlarına sahip, tamamen yönetilen bir C# portu olarak .NET için de kullanılabilir. .NET Standard 2.0, .NET Framework 4.7.2, .NET 6, .NET 8, .NET 9 ve .NET 10 için NuGet paketleri olarak sunulur ve yerel DLL gerektirmez.

esegece.sgcPDF

Kitaplık: belge modeli, ayrıştırıcı, yazıcı, düzenleyici, işleme çekirdeği, yazı tipleri, görüntüler, formlar, imzalar, şifreleme, metin ve görüntü çıkarma, baskı öncesi, PDF/A (PDF/A-4 dahil) ve PDF/UA-2.

esegece.sgcPDF.WinForms

Windows Forms eklentisi: GDI işleyici ve tuval, EMF oynatma, sayfaların görüntü olarak dışa aktarılması ve TsgcPDFViewerControl (etkileşimli notlar ve yorum yanıtlarıyla), TsgcPDFThumbnailView ve TsgcPDFOutlineView denetimleri, sayfa kutuları ve bir ölçüm aracıyla.

esegece.sgcPDF.Wpf

WPF görüntüleyici: TsgcWpfPDFViewer, TsgcWpfPDFThumbnailView ve TsgcWpfPDFOutlineView; yakınlaştırma modları, kutu yakınlaştırma, metin seçimi, arama, bağlantılar, sayfa kutuları ve ölçüm aracıyla. Notlar ve form alanları görüntülenir.

esegece.sgcPDF.Avalonia

Avalonia görüntüleyici: TsgcAvaloniaPDFViewer, TsgcAvaloniaPDFThumbnailView ve TsgcAvaloniaPDFOutlineView; WPF görüntüleyiciyle aynı görüntüleme özellikleri ve ek olarak çimdik yakınlaştırma.

esegece.sgcPDF.sgcSign

sgcSign .NET’e isteğe bağlı köprü: TsgcPDFPAdESSigner, herhangi bir sgcSign anahtar sağlayıcısıyla PAdES B-B, B-T, B-LT ve B-LTA imzalar.

dotnet add package esegece.sgcPDF
dotnet add package esegece.sgcPDF.WinForms
dotnet add package esegece.sgcPDF.Wpf
dotnet add package esegece.sgcPDF.Avalonia
dotnet add package esegece.sgcPDF.sgcSign

Her paket, .Community sonekiyle ücretsiz bir Community sürümü olarak da sunulur, örneğin dotnet add package esegece.sgcPDF.Community. Her iki sürüm de aynı özelliklere sahiptir. Community sürümü, yıllık brüt geliri 1 milyon EUR’nun altında olan ve 5’ten fazla geliştiricisi bulunmayan bireyler ve kuruluşlar için ücretsizdir ve başlangıçta kısa bir bildirim gösterir. Kayıtlı sürüm bu bildirimi kaldırır ve ticari lisansı içerir.

NuGet’te Görüntüle .NET İndirmeleri

sgcPDF, sgcUI Enterprise’ın Parçasıdır

sgcPDF, Delphi ve C++ Builder bileşenlerinden oluşan sgcUI paketinin bir parçasıdır ve diğer tüm sgcUI ürünleriyle birlikte sgcUI Enterprise sürümüne dahildir. Tekil paket olarak da edinilebilir. Fiyatlar sgcUI fiyat sayfasında ve sgcPDF fiyat sayfasında yer alır.

sgcReports

Tamamlanan raporları sgcPDF aracılığıyla PDF olarak dışa aktaran rapor tasarımcısı ve motoru.

sgcReports’u keşfedin →

sgcGrid

Delphi ve C++ Builder için yüksek performanslı veri tablosu.

sgcGrid’i keşfedin →

sgcCharts

Panolar ve raporlar için grafikler.

sgcCharts’ı keşfedin →

sgcDashboard

Panolar için karolar, KPI’lar ve yerleşimler.

sgcDashboard’u keşfedin →

Çevrimiçi yardım: giriş, hızlı başlangıç, kurulum ve .NET kurulumu.

eSeGeCe’nin Diğer Ürünleri

sgcPDF’yi diğer Delphi ve C++ Builder bileşen kütüphanelerimizle birlikte kullanın.

sgcSign

Kurumsal dijital imzalar. 10 anahtar sağlayıcı ve 21 AB ülke profiliyle XAdES, PAdES, CAdES ve ASiC.

Daha fazla bilgi →

sgcWebSockets

Delphi, C++ Builder ve .NET için kurumsal WebSocket, HTTP/2, MQTT, AMQP ve WebRTC bileşenleri.

Daha fazla bilgi →

sgcHTML

Bootstrap ve htmx üzerine inşa edilmiş, Delphi ve C++ Builder için sunucu tarafı HTML ve UI bileşenleri.

Daha fazla bilgi →

sgcCrypto

Saf Object Pascal ile modern kriptografi: AES-GCM, SHA-3, Ed25519, X.509 ve kuantum sonrası ML-KEM ve ML-DSA.

Daha fazla bilgi →
3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

DLL Olmadan PDF

Zaten sahip olduğunuz Delphi veya C++ Builder koduyla PDF dosyaları oluşturun, görüntüleyin, imzalayın ve arşivleyin.