sgcPDF Özellik Matrisi

sgcPDF’nin yaptığı her şey, göreve göre gruplandırılmıştır. Her özellik sgcPDF_*.pas birimlerinde Object Pascal ile uygulanır ve tam kaynak koduyla birlikte gelir. Bu sayfadaki kod örnekleri sgcPDF kaynaklarına karşı derlenip çalıştırılmıştır.

Oluşturma

13 Özellik

Düzenleme

6 Özellik

Çıkarma

5 Özellik

Formlar

3 Özellik

Oluşturma

ÖzellikAyrıntılar
SayfalarA4, Letter veya özel herhangi bir sayfa boyutu ve yönü, ayrıca sayfa döndürme.
Metin14 standart PDF yazı tipi ve renkli metin; kanvas ve HTML işleyicileri aracılığıyla paragraf kaydırma.
Gömülü yazı tipleriTrueType, OpenType (TrueType ve CFF anahatları) ve TrueType koleksiyonları otomatik olarak gömülür ve alt kümelenir; Unicode ToUnicode eşlemeleriyle metin kopyalanabilir ve aranabilir.
Karmaşık Yazı SistemleriKerning ve ligatürler, GSUB aracılığıyla Arapça bağlama biçimleri ve sağdan sola metin için Unicode çift yönlü algoritması.
CJK MetniGömülü TrueType ve TrueType koleksiyon yazı tipleri aracılığıyla Çince, Japonca ve Korece metin.
GörüntülerJPEG, alfa kanallı PNG, BMP ve TIFF (CCITT faks görüntüleri dahil), yumuşak maskelerle.
Vektörel GrafiklerÇizgiler, dikdörtgenler, daireler, elipsler, Bézier eğrileri, çokgenler, kesikli çizgi desenleri, çizgi uçları ve birleşimleri, saydamlık ve gradyanlar.
TablolarSayfalar arasında devam eden başlıklara, kenarlıklara, hücre boşluğuna ve renklere sahip tablolar.
BarkodlarCode 128, Code 39, EAN-13, EAN-8, UPC-A, ITF, Codabar, GS1-128, QR Kod, DataMatrix (ECC200) ve PDF417; vektör olarak çizilir.
Notlar ve BağlantılarMetin notları, vurgular, URL’lere ve sayfalara bağlantılar, damgalar ve serbest metin notları.
Yer İmleri ve Katmanlarİç içe yer imleri (ana hat) ve okuyucuların gösterip gizleyebileceği isteğe bağlı içerik grupları (katmanlar).
HTML'den PDF'yeTsgcPDFHTMLRenderer: başlıklar, paragraflar, satır içi CSS stilleri, listeler, tablolar, görüntüler, bağlantılar, sayfa sonları, başlık/altbilgi ve sayfa numaraları.
Kanvas ve EMF'den PDF'yeTsgcPDFCanvas çizim çağrılarını PDF içeriğine kaydeder ve EMF meta dosyaları PDF vektörlerine yeniden oynatılır; böylece mevcut rapor ve grafik kodu PDF çıktısı üretir.

HTML'den PDF'ye

procedure HTMLToPDF(const APDFFile: string);
var
  oHTML: TsgcPDFHTMLRenderer;
begin
  oHTML := TsgcPDFHTMLRenderer.Create(nil);
  try
    oHTML.PageWidth := 595;
    oHTML.PageHeight := 842;
    oHTML.FooterText := 'Page {page} of {pages}';
    oHTML.HTMLToPDFFile(
      '<html><head><style>h1 { color: #003366 }</style></head><body>' +
      '<h1>Invoice 2026-001</h1>' +
      '<table><tr><th>Item</th><th>Amount</th></tr>' +
      '<tr><td>Consulting</td><td>299.00</td></tr></table>' +
      '</body></html>', APDFFile);
  finally
    oHTML.Free;
  end;
end;

Düzenleme

ÖzellikAyrıntılar
Filigranlar ve DamgalarYazı tipi, boyut, döndürme, renk ve opaklık ile bir sayfada veya tüm sayfalarda metin filigranları.
Başlık/Altbilgi, Sayfa NumaralarıPage %d of %d gibi bir biçimle başlık ve altbilgi metni ve sayfa numaraları.
Sayfa İşlemleriBelgeleri birleştirme, bölme, sayfa aralıklarını çıkarma, ekleme, silme, döndürme ve sayfaları yeniden sıralama.
Artımlı KaydetmeDeğişiklikler orijinal dosyaya yeni bir revizyon olarak eklenir, böylece önceki dijital imzalar geçerli kalır.
Kompakt ÇıktıDaha küçük dosyalar için nesne akışları ve çapraz başvuru akışları, ayrıca yinelenenleri ve kullanılmayan nesneleri kaldırmak ve görüntüleri alt örneklemek için TsgcPDFOptimizer.
Büyük DosyalarOfsetler uçtan uca 64 bittir ve nesneler bir akıştan isteğe bağlı olarak yüklenir; böylece 2 GB’ın üzerindeki dosyalar açılabilir ve kaydedilebilir.

İşleme & Görüntüleyiciler

ÖzellikAyrıntılar
VCL GörüntüleyiciKaydırma, yakınlaştırma modları, sayfa gezinmesi, metin seçimi ve kopyalama, vurgulamalı arama, form alanı doldurma, bağlantı gezinmesi ve yazdırma içeren TsgcPDFViewerControl, ayrıca TsgcPDFThumbnailView ve TsgcPDFOutlineView.
FireMonkey GörüntüleyiciTsgcPDFViewerFMX, Windows, macOS, iOS ve Android üzerinde FMX kanvası aracılığıyla çizer.
Sunucular için Raster İşleyiciTsgcPDFRendererRaster, Windows ve Linux üzerinde GDI olmadan sayfaları piksellere veya PNG’ye işleyen saf Object Pascal raster işleyicidir.
ve Dışa AktarmaWindows’ta bir bit eşlem veya aygıt bağlamına işleme ve TsgcPDFExporter ile sayfaları ve küçük resimleri BMP, PNG veya JPEG’ye aktarma.
Grafik ModeliDeviceGray, DeviceRGB, DeviceCMYK, indeksli, ICCBased ve Lab renk uzayları, eksenel ve radyal gölgelendirmeler, mozaik desenler, yumuşak maskeler, harmanlama opaklığı ve form XObject’leri.
Yazı TipleriGömülü TrueType, CFF, OpenType ve Type 1 yazı tipi programları anahatlarından işlenir; standart kodlamalar ve Identity-H CID yazı tipleriyle.
Görüntü ÇözücüleriFlate, LZW, ASCII85, ASCIIHex, RunLength, JPEG (baseline ve progresif, CMYK), JPEG 2000, CCITT Grup 3 ve 4, ve JBIG2.

Çıkarma

ÖzellikAyrıntılar
MetinGömülü ve CID yazı tiplerinin Unicode eşlemesiyle sayfa metni veya tüm belge metni.
Metin KonumlarıTsgcPDFTextExtractor, her metin parçasını X, Y, yazı tipi adı ve boyutuyla döndürür.
AramaBir sayfada veya belgede metin bulun.
GörüntülerTsgcPDFImageExtractor, satır içi görüntüler ve form XObject’leri içindekiler dahil bir sayfanın görüntülerini listeler ve PNG, JPEG veya BMP olarak çözer.
Meta Veri ve EklerBelge bilgileri, XMP meta verileri, yer imleri, katmanlar ve gömülü dosyalar.

Formlar

ÖzellikAyrıntılar
Form OluşturGörünüm akışlarıyla metin alanları, onay kutuları, seçenek düğmeleri, açılır kutular, liste kutuları ve push düğmeleri.
Doldur ve DüzleştirAlan değerlerini kodda veya görüntüleyicide ayarlayın, ardından formu statik sayfa içeriğine düzleştirin.
FDF ve XFDFForm verilerini FDF ve XFDF olarak içe ve dışa aktarın.

Güvenlik & İmzalar

ÖzellikAyrıntılar
Parola ŞifrelemesiRC4 40 bit ve 128 bit, AES-128 ve AES-256 (revizyon 5 ve 6), kullanıcı ve sahip parolası ile izin bayraklarıyla. Şifreli dosyalar yüklenirken çözülür.
Sertifika ŞifrelemesiBir veya daha fazla alıcı sertifikası için genel anahtar şifrelemesi (adbe.pkcs7.s4 ve adbe.pkcs7.s5).
Dijital İmzalarPFX sertifikasıyla imzalama, görünür veya görünmez imza alanları, SHA-256, SHA-384 ve SHA-512, RFC 3161 zaman damgaları ve belge zaman damgaları.
sgcSign üzerinden PAdESTsgcPDFPAdESSigner, sgcSign’in (PEM, PFX, PKCS#11, Windows sertifika deposu, bulut HSM’leri) herhangi bir anahtar sağlayıcısını kullanarak DSS doğrulama verileriyle B-B, B-T, B-LT ve B-LTA seviyelerinde ETSI.CAdES.detached imzaları üretir. sgcSign ayrıca lisanslanır.
DoğrulamaTsgcPDFSignatureVerifier, her imzanın bütünlüğünü, bayt aralığı kapsamını, imzalayan sertifikasını ve sertifika zincirini kontrol eder.
SansürlemeTsgcPDFRedactor, bir bölge altındaki veya bir metinle eşleşen glif düzeyinde metni, görüntü piksellerini, vektör yollarını ve notları kaldırır, bir kaplama ekler ve meta verileri silebilir. Kaldırılan metin çıktıdan çıkarılamaz.

AES-256 Parola Şifrelemesi

procedure CreateEncryptedPDF(const AFileName: string);
var
  oPDF: TsgcPDFDocument;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.AddPage(595, 842).DrawText('Secret', 50, 780, sfHelveticaBold, 24);
    // user password opens the file, owner password grants full rights
    oPDF.SetEncryption(emAES_256, 'user123', 'owner456');
    oPDF.SaveToFile(AFileName);
  finally
    oPDF.Free;
  end;
end;

Bir PFX Sertifikasıyla İmzalama

procedure SignPDF(const AInput, AOutput: string);
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(AInput, AOutput);
  finally
    oSigner.Free;
  end;
end;

sgcSign Köprüsü Üzerinden PAdES

procedure SignPAdES(const AInput, AOutput: string);
var
  oKey: TsgcPEMKeyProvider;
  oSigner: TsgcPDFPAdESSigner;
begin
  oKey := TsgcPEMKeyProvider.Create(nil);
  oSigner := TsgcPDFPAdESSigner.Create(nil);
  try
    // any sgcSign key provider: PEM, PFX, PKCS#11, Windows store, cloud HSM
    oKey.LoadFromFile('signer.pem', 'signer.key');
    oSigner.KeyProvider := oKey;
    // paBB, paBT (timestamp), paBLT and paBLTA (long term validation)
    oSigner.Level := paBB;
    // signature field and appearance through the sgcPDF handler
    oSigner.Handler.SetField('Signature1', 0, 350, 50, 550, 110);
    oSigner.Handler.SignerName := 'John Smith';
    oSigner.Handler.Reason := 'Approved';
    oSigner.SignPDFFile(AInput, AOutput);
    oSigner.KeyProvider := nil;
  finally
    oSigner.Free;
    oKey.Free;
  end;
end;

Bir Ad ve Alanı Sansürleme

procedure RedactFile(const AInput, AOutput: string);
var
  oRedactor: TsgcPDFRedactor;
  vOptions: TsgcPDFRedactionOptions;
begin
  oRedactor := TsgcPDFRedactor.Create;
  try
    // every occurrence of a text, on all pages
    oRedactor.AddText('John Smith');
    // an area of page 0: left, bottom, right, top in points
    oRedactor.AddArea(0, 50, 500, 250, 650);
    vOptions := oRedactor.Options;
    vOptions.OverlayText := 'REDACTED';
    vOptions.RemoveMetadata := True;
    oRedactor.Options := vOptions;
    oRedactor.Apply(AInput, AOutput);
  finally
    oRedactor.Free;
  end;
end;

Arşileme & Erişilebilirlik

ÖzellikAyrıntılar
PDF/Aa ve b seviyelerinde PDF/A-1, PDF/A-2 ve PDF/A-3 çıktısı; XMP meta verileri, çıktı amacı ve gömülü yazı tipleriyle.
DoğrulayıcıTsgcPDFAValidator, bir dosyayı seçilen PDF/A seviyesine karşı kontrol eder ve hataları ile uyarıları bildirir.
Etiketli PDFAlternatif metin, işaretlenmiş içerik, rol eşlemesi, dil ve MarkInfo ile Document, Part, Sect, H1-H6, P, L, LI, Table, TR, TH, TD ve Figure içeren yapı ağacı.
PDF/UA-1PDF/A-2a veya PDF/A-3a ile birlikte erişilebilir çıktı ve doğrulayıcıda PDF/UA-1 kontrolleri.
EklerMIME türü, tarihler ve PDF/A-3 ilişkili dosya ilişkileriyle gömülü dosyalar.
Factur-X ve ZUGFeRDMinimum, Basic WL, Basic, EN 16931, Extended ve XRechnung profilleri için Factur-X XMP uzantı şemasıyla fatura XML’sini gömüp dosyayı PDF/A-3b olarak kaydeder.

PDF/A-3b Olarak Factur-X Faturası

procedure CreateFacturX(const AInvoiceXML, AFileName: string);
var
  oPDF: TsgcPDFDocument;
  oXML: TMemoryStream;
  vXML: TBytes;
  vFont: Integer;
begin
  oPDF := TsgcPDFDocument.Create;
  oXML := TMemoryStream.Create;
  try
    // the invoice XML (CII) is created by your application
    oXML.LoadFromFile(AInvoiceXML);
    SetLength(vXML, oXML.Size);
    Move(oXML.Memory^, vXML[0], oXML.Size);
    oPDF.Info.Title := 'Invoice 2026-001';
    // PDF/A requires embedded fonts
    vFont := oPDF.AddTrueTypeFont('Arial', False, False);
    oPDF.AddPage(595, 842).DrawTextTT('Invoice 2026-001', 50, 780, vFont, 18);
    // embeds factur-x.xml, adds the Factur-X XMP schema, saves as PDF/A-3b
    oPDF.Attachments.AddFacturX(vXML, fxpEN16931);
    oPDF.SaveToFile(AFileName);
  finally
    oXML.Free;
    oPDF.Free;
  end;
end;

PDF/A Doğrulama

procedure ValidatePDFA(const AFileName: string);
var
  oParser: TsgcPDFParser;
  oValidator: TsgcPDFAValidator;
  i: Integer;
begin
  oParser := TsgcPDFParser.Create;
  oValidator := TsgcPDFAValidator.Create(paA3b);
  try
    oParser.LoadFromFile(AFileName);
    oParser.Parse;
    if oValidator.Validate(oParser) then
      WriteLn('PDF/A-3b: no errors')
    else
      for i := 0 to oValidator.Errors.Count - 1 do
        WriteLn('Error: ', oValidator.Errors[i]);
  finally
    oValidator.Free;
    oParser.Free;
  end;
end;
En avantajlı seçenek: All-AccessTüm eSeGeCe ürünleri, Premium Destek dahil, yılda €1,059'dan itibaren.
All-Access fiyatlarına bakın

sgcPDF ile Geliştirin

Bir deneme talep edin ve Delphi veya C++ Builder uygulamanıza PDF özellikleri ekleyin.