Delphi 7 tot en met 13 & C++ Builder Geen DLL's

sgcPDF, een PDF-bibliotheek in puur Object Pascal voor Delphi & C++ Builder

Maak, bewerk, bekijk, render, extraheer, versleutel, onderteken, redigeer en valideer PDF-bestanden met componenten die volledig in Object Pascal zijn geschreven. Er is geen DLL om te implementeren en geen externe PDF-engine: de parser, writer, lettertypen, afbeeldingsdecoders, renderers en cryptografie worden meegecompileerd in uw toepassing. De kern draait op Windows, Linux, macOS, iOS en Android, met een VCL-viewerbesturingselement, een FireMonkey-viewer en een raster-renderer voor servers. De volledige broncode is inbegrepen.

Volledige broncode
Windows, Linux, macOS, iOS & Android
Delphi 7 → 13, C++ Builder
Geen externe afhankelijkheden
15 componenten sgcPDF_*.pas PDF 1.0 tot 2.0, lezen en schrijven, in puur Object Pascal.
Maken TsgcPDFDocument
Bewerken TsgcPDFEditor
Weergeven TsgcPDFViewerControl
Extraheren TsgcPDFTextExtractor
Ondertekenen PAdES B-B to B-LTA
PDF/A & PDF/UA TsgcPDFAValidator
Redigeren TsgcPDFRedactor
15 Paletcomponenten Document, editor, viewers, extractors, ondertekenen
0 Te implementeren DLL's Parser, writer, lettertypen en cryptografie in Pascal
5 Besturingssystemen Windows, Linux, macOS, iOS, Android
6 PDF/A-conformiteitsniveaus PDF/A-1, 2 en 3, niveaus a en b, plus PDF/UA-1

Drie dingen die u vooraf moet weten

Niets om te installeren op de doelmachine

sgcPDF is geen wrapper om PDFium, Ghostscript, een COM-server of een andere native bibliotheek. Parsen, schrijven, het insluiten en subsetten van lettertypen, beelddecodering, rendering, versleuteling en ondertekenen zijn geïmplementeerd in de sgcPDF_*.pas-units, zodat uw uitvoerbaar bestand de volledige implementatie is.

De kernunits hebben geen VCL- of FMX-afhankelijkheid, zodat dezelfde code werkt in een consoletool, een Windows-service, een Linux-daemon of een webserver.

Platformbereik

Welke onderdelen waar draaien

Aanmaken, bewerken, tekst- en beeldextractie, formulieren, versleuteling, handtekeningen, redigeren, PDF/A en de raster-renderer worden gecompileerd voor Windows en Linux64, en voor macOS, iOS en Android. De GDI-renderer, de exporter en de VCL-viewerbesturingselementen zijn alleen voor Windows, en TsgcPDFViewerFMX dekt Windows, macOS, iOS en Android.

Geavanceerde handtekeningen

PAdES via sgcSign, basisondertekening ingebouwd

sgcPDF ondertekent en verifieert PDF-bestanden zelfstandig met een PFX-certificaat. Voor de PAdES-baselineniveaus B-B, B-T, B-LT en B-LTA, en voor sleutels op smartcards, in het Windows-certificaatarchief of in cloud-HSM's, gebruikt de optionele TsgcPDFPAdESSigner-brug de sleutelproviders van sgcSign, dat apart wordt gelicentieerd.

Één bibliotheek voor de hele PDF-levenscyclus

Van de eerste pagina die u schrijft tot het ondertekende, gearchiveerde en geredigeerde bestand dat u aflevert: elke stap draait op dezelfde Object Pascal-codebasis.

Maken: documenten uit code, HTML of een canvas

Pagina's, tekst in de 14 standaardlettertypen of ingesloten en gesubsette TrueType- en OpenType-lettertypen, afbeeldingen (JPEG, PNG, BMP, TIFF), lijnen, krommen, verlopen, tabellen die over pagina's doorlopen, barcodes en QR-codes, annotaties, bladwijzers en optionele inhoudslagen. TsgcPDFHTMLRenderer zet HTML met CSS om in gepagineerde PDF, en TsgcPDFCanvas en EMF-afspelen zetten bestaande tekencode om.

Bekijk de functies →

Bewerken: wijzig bestanden die u niet zelf hebt geschreven

Watermerken, kop- en voetteksten, paginanummers en stempels, samenvoegen en splitsen, extraheren, invoegen, verwijderen, roteren en herordenen van pagina's. Incrementeel opslaan voegt een nieuwe revisie toe aan het oorspronkelijke bestand, waardoor eerdere handtekeningen geldig blijven.

Bekijk de functies →

Weergeven & renderen: VCL- en FMX-viewers, plus een serverrenderer

Een VCL-viewerbesturingselement met miniaturen, overzicht, tekstselectie, zoeken, formulieren invullen en afdrukken, een FireMonkey-viewer voor Windows, macOS, iOS en Android, en een raster-renderer in puur Object Pascal die pagina's zonder GDI omzet naar PNG op Windows- en Linux-servers.

Bekijk de functies →

Extraheren: tekst, posities en afbeeldingen

Platte tekst per pagina of voor het hele document, tekstfragmenten met coördinaten, lettertype en grootte, en de afbeeldingen van een pagina gedecodeerd naar PNG, JPEG of BMP. De decoders omvatten Flate, LZW, ASCII85, RunLength, JPEG (baseline en progressief), JPEG 2000, CCITT G3/G4 en JBIG2.

Bekijk de functies →

Beveiligen & ondertekenen: versleuteling, handtekeningen, redigeren

RC4 40/128-, AES-128- en AES-256-wachtwoordversleuteling, certificaatversleuteling (publieke sleutel), digitale handtekeningen met zichtbare velden en tijdstempels, PAdES B-B, B-T, B-LT en B-LTA via de sgcSign-brug, handtekeningverificatie en echte redactie die inhoud verwijdert in plaats van af te dekken.

Bekijk de functies →

Voldoen: PDF/A, PDF/UA, getagde PDF, Factur-X

PDF/A-1-, PDF/A-2- en PDF/A-3-uitvoer in niveaus a en b met een ingebouwde validator, getagde PDF met structuurboom en alternatieve tekst, PDF/UA-1-controles, ingesloten bestanden met PDF/A-3-relaties, en Factur-X-, ZUGFeRD- en XRechnung-e-factuurinsluiting.

Bekijk de functies →

Een paar regels Delphi

Elk voorbeeld op deze pagina komt uit een programma dat tegen de sgcPDF-bronnen is gecompileerd en uitgevoerd. Coördinaten staan in PDF-punten (1/72 inch), met de oorsprong in de linkerbenedenhoek van de pagina.

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;

15 componenten op het sgcPDF-palet

Zet ze op een formulier of een datamodule, of maak ze aan in code. Elk component is ook bruikbaar zonder formulier, vanuit consoletoepassingen en services.

Alle componenten

Proefversie en licenties

sgcPDF is een nieuw product. Neem contact op met eSeGeCe om een proefversie of offerte aan te vragen. Zoals bij elke eSeGeCe-bibliotheek is de volledige broncode bij de licentie inbegrepen.

sgcPDF

  • Alle 15 componenten en de sgcPDF_*.pas-units
  • Delphi 7 tot en met 13 en C++ Builder
  • Windows, Linux, macOS, iOS en Android
  • Volledige broncode

Andere producten van eSeGeCe

Combineer sgcPDF met onze andere Delphi- en C++Builder-componentbibliotheken.

sgcSign

Digitale handtekeningen voor de enterprise. XAdES, PAdES, CAdES en ASiC met 10 sleutelproviders en 21 EU-landprofielen.

Meer informatie →

sgcWebSockets

Enterprise WebSocket-, HTTP/2-, MQTT-, AMQP- en WebRTC-componenten voor Delphi, C++ Builder en .NET.

Meer informatie →

sgcHTML

Server-side HTML- en UI-componenten voor Delphi en C++ Builder, gebouwd op Bootstrap en htmx.

Meer informatie →

sgcCrypto

Moderne cryptografie in puur Object Pascal: AES-GCM, SHA-3, Ed25519, X.509 en post-quantum ML-KEM en ML-DSA.

Meer informatie →
3,000+Ontwikkelaars
20+Jaar
761+Componenten
30+API-integraties
5Platformen
Niet-goed-geld-terug-garantie van 30 dagenNiet tevreden? Vraag binnen 30 dagen na aankoop een volledige terugbetaling aan. Bekijk het terugbetalingsbeleid

PDF zonder de DLL

Maak, bekijk, onderteken en archiveer PDF-bestanden met de Delphi- of C++Builder-code die u al hebt.