sgcPDF Functiematrix

Alles wat sgcPDF doet, gegroepeerd per taak. Elke functie is geïmplementeerd in Object Pascal in de sgcPDF_*.pas-units en wordt geleverd met volledige broncode. De codevoorbeelden op deze pagina zijn gecompileerd tegen de sgcPDF-bronnen en uitgevoerd.

Maken

14 functies

Bewerken

7 functies

Extraheren

5 functies

Formulieren

3 functies

.NET

5 NuGet-pakketten

Maken

FunctieDetails
Pagina'sElke pagina­grootte en -oriëntatie, A4, Letter of aangepast, en paginarotatie.
TekstDe 14 standaard PDF-lettertypen en gekleurde tekst, met alineaterugloop via de canvas- en HTML-renderers.
Ingesloten lettertypenTrueType, OpenType (TrueType- en CFF-omtrekken) en TrueType-collecties, automatisch ingesloten en gesubset, met Unicode ToUnicode-mappings zodat tekst gekopieerd en doorzocht kan worden.
Complexe schriftsystemenKerning en ligaturen, Arabische verbindingsvormen via GSUB, en het bidirectionele Unicode-algoritme voor tekst van rechts naar links.
CJK-tekstChinese, Japanse en Koreaanse tekst via ingesloten TrueType- en TrueType-collectielettertypen.
AfbeeldingenJPEG, PNG met alfa, BMP en TIFF (inclusief CCITT-faxafbeeldingen), met zachte maskers.
VectorafbeeldingenLijnen, rechthoeken, cirkels, ellipsen, Bézier-krommen, veelhoeken, streeppatronen, lijnuiteinden en -verbindingen, transparantie en verlopen.
TabellenTabellen met koppen, randen, celopvulling en kleuren die over pagina's doorlopen.
BarcodesCode 128, Code 39, EAN-13, EAN-8, UPC-A, ITF, Codabar, GS1-128, QR-code, DataMatrix (ECC200) en PDF417, getekend als vectoren. De besturingselementen TsgcPDFBarcodeControl (VCL) en TsgcPDFBarcodeFMX (FireMonkey) tonen ze op formulieren, slaan ze op als PNG of SVG en tekenen ze via Symbol.DrawToPDF op een PDF-pagina.
Annotaties en linksPlaknotities, vrije tekst, markering, onderstreping en doorhaling, lijnen en pijlen, vierkanten en cirkels, vrije inkt en stempels, plus links naar URL's en pagina's. Weergavestromen (appearance streams) worden gegenereerd, zodat de annotaties worden getoond in Adobe Acrobat, browsers en andere viewers.
Reacties op opmerkingenReacties op elke annotatie vormen een gesprek met draden, elke reactie met een eigen auteur, datum en inhoud.
Bladwijzers en lagenGeneste bladwijzers (overzicht) en optionele inhoudsgroepen (lagen) die lezers kunnen tonen of verbergen.
HTML naar PDFTsgcPDFHTMLRenderer: koppen, alinea's, inline CSS-stijlen, lijsten, tabellen, afbeeldingen, links, pagina-einden, kop- en voetteksten en paginanummers.
Canvas en EMF naar PDFTsgcPDFCanvas legt tekenaanroepen vast in PDF-inhoud, en EMF-metabestanden worden teruggespeeld als PDF-vectoren, zodat bestaande rapport- en grafiekcode PDF-uitvoer produceert.

HTML naar PDF

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;

Bewerken

FunctieDetails
Watermerken en stempelsTekstwatermerken met lettertype, grootte, rotatie, kleur en dekking, op één of alle pagina's.
Kop-/voetteksten, paginanummersKop- en voetteksttekst en paginanummers met een formaat zoals Page %d of %d.
PaginabewerkingenDocumenten samenvoegen, splitsen, paginabereiken extraheren, invoegen, verwijderen, roteren en herordenen.
Incrementeel opslaanWijzigingen worden als nieuwe revisie aan het oorspronkelijke bestand toegevoegd, waardoor eerdere digitale handtekeningen geldig blijven.
Bestaande annotatiesDe annotaties van een bestaande PDF worden geladen als getypeerde objecten met auteur, datum, reacties en geometrie. Bewerk ze in code of in de viewer en sla op, of roep SaveIncremental aan om de wijzigingen toe te voegen zonder de oorspronkelijke bytes aan te raken, zodat bestaande handtekeningen intact blijven.
Compacte uitvoerObjectstromen en kruisverwijzingsstromen voor kleinere bestanden, plus TsgcPDFOptimizer om duplicaten en ongebruikte objecten te verwijderen en afbeeldingen te downsamplen.
Grote bestandenOffsets zijn end-to-end 64 bit en objecten worden on demand vanuit een stream geladen, zodat bestanden groter dan 2 GB kunnen worden geopend en opgeslagen.

Renderen & viewers

FunctieDetails
VCL-viewerTsgcPDFViewerControl met scrollen, zoommodi, paginanavigatie, tekstselectie en kopiëren, zoeken met markering, formuliervelden invullen, linknavigatie en afdrukken, plus TsgcPDFThumbnailView en TsgcPDFOutlineView.
FireMonkey-viewerTsgcPDFViewerFMX tekent via het FMX-canvas op Windows, macOS, iOS en Android. Zoomen op een kader (SelectionMode psmZoom, OnMarqueeZoom) zoomt in op een rechthoek die met de muis wordt opgetrokken, of met lang indrukken en slepen.
.NET-viewersTsgcPDFViewerControl voor WinForms, TsgcWpfPDFViewer voor WPF en TsgcAvaloniaPDFViewer voor Avalonia, elk met miniatuur- en overzichtsweergave. De WPF- en Avalonia-viewers hebben zoommodi, Ctrl+wiel en zoomen op een kader (knijpen op Avalonia), tekstselectie en kopiëren, zoeken met markering, navigatie via koppelingen en overzicht, paginaboxen en het meetgereedschap. Ze tonen annotaties en formuliervelden, maar bewerken ze niet.
Interactieve annotatiesIn Delphi VCL en FMX, C++Builder en .NET WinForms maken eindgebruikers annotaties met de muis: plaknotities, vrije tekst, markering, onderstreping en doorhaling over tekst, lijnen en pijlen, rechthoeken en ellipsen, vrije inkt en stempels. Ze selecteren, verplaatsen, vergroten of verkleinen, bewerken en verwijderen ze. Een klik op een notitie opent een popup met auteur, datum, inhoud en reacties, waarin ze kunnen bewerken en reageren. De viewers activeren OnAnnotationClick, OnAnnotationAdd, OnAnnotationChange, OnAnnotationDelete en OnAnnotationSelect.
OpmerkingenpaneelTsgcPDFCommentsView (VCL) en TsgcPDFCommentsViewFMX tonen elke annotatie per pagina met auteur, datum, inhoud en reactiedraden, gesynchroniseerd met de viewer.
Raster-renderer voor serversTsgcPDFRendererRaster is een raster-engine in puur Object Pascal die pagina's zonder GDI naar pixels of PNG rendert, op Windows en Linux.
GDI-renderer en exportRenderen naar een bitmap of apparaatcontext op Windows, en pagina's en miniaturen exporteren naar BMP, PNG of JPEG met TsgcPDFExporter.
Grafisch modelDeviceGray-, DeviceRGB-, DeviceCMYK-, geïndexeerde, ICCBased- en Lab-kleurruimtes, axiale en radiale verlopen, tegelpatronen, zachte maskers, meng-dekking en formulier-XObjects.
LettertypenIngesloten TrueType-, CFF-, OpenType- en Type 1-lettertypeprogramma's worden gerenderd vanuit hun omtrekken, met de standaardcoderingen en Identity-H CID-lettertypen.
BeelddecodersFlate, LZW, ASCII85, ASCIIHex, RunLength, JPEG (baseline en progressief, CMYK), JPEG 2000, CCITT groep 3 en 4, en JBIG2.

Extraheren

FunctieDetails
TekstPaginatekst of tekst van het hele document, met Unicode-mapping van ingesloten en CID-lettertypen.
TekstpositiesTsgcPDFTextExtractor geeft elk tekstfragment terug met X, Y, lettertypenaam en -grootte.
ZoekenTekst vinden op een pagina of in het document.
AfbeeldingenTsgcPDFImageExtractor somt de afbeeldingen van een pagina op, inclusief inline afbeeldingen en die in formulier-XObjects, en decodeert ze naar PNG, JPEG of BMP.
Metadata en bijlagenDocumentinformatie, XMP-metadata, bladwijzers, lagen en ingesloten bestanden.

Formulieren

FunctieDetails
Formulieren makenTekstvelden, selectievakjes, keuzerondjes, keuzelijsten, lijstvakken en drukknoppen met verschijningsstromen.
Invullen en plettenStel veldwaarden in via code of de viewer, en plet vervolgens het formulier tot statische pagina-inhoud.
FDF en XFDFImporteer en exporteer formuliergegevens als FDF en XFDF.

Beveiliging & handtekeningen

FunctieDetails
WachtwoordversleutelingRC4 40-bit en 128-bit, AES-128 en AES-256 (revisies 5 en 6), met gebruikers- en eigenaarswachtwoord en machtigingsvlaggen. Versleutelde bestanden worden bij het laden ontsleuteld.
CertificaatversleutelingPublieke-sleutelversleuteling voor een of meer ontvangercertificaten (adbe.pkcs7.s4 en adbe.pkcs7.s5).
Digitale handtekeningenOndertekenen met een PFX-certificaat, zichtbare of onzichtbare handtekeningvelden, SHA-256, SHA-384 en SHA-512, RFC 3161-tijdstempels en documenttijdstempels.
PAdES via sgcSignTsgcPDFPAdESSigner produceert ETSI.CAdES.detached-handtekeningen op de niveaus B-B, B-T, B-LT en B-LTA, met DSS-validatiegegevens, met behulp van elke sleutelprovider van sgcSign (PEM, PFX, PKCS#11, Windows-certificaatarchief, cloud-HSM's). sgcSign wordt apart gelicentieerd.
VerificatieTsgcPDFSignatureVerifier controleert de integriteit, dekking van het bytebereik, ondertekenaarscertificaat en certificaatketen van elke handtekening.
ZwartlakkenTsgcPDFRedactor verwijdert tekst op glyfniveau, beeldpixels, vectorpaden en annotaties onder een gebied of die overeenkomen met tekst, voegt een overlay toe en kan metadata verwijderen. De verwijderde tekst kan niet uit de uitvoer worden geëxtraheerd.
Tekst naar contourenTsgcPDFTextOutliner vervangt elke glyf door een vectorpad met dezelfde positie, kleur en grootte, in pagina-inhoud, formulier-XObjects, tegelpatronen, Type3-lettertypen en annotatieweergaven, en verwijdert daarna de ongebruikte lettertypen. Het bestand drukt hetzelfde af en ziet er hetzelfde uit, maar heeft geen lettertype meer nodig, wat past bij drukkerijen, RIP’s en lettertypelicenties die insluiten verbieden. Tekst in niet-ingesloten lettertypen wordt omgezet met het vervangende systeemlettertype dat een viewer zou gebruiken, en onzichtbare tekst wordt verwijderd. De tekst kan niet meer worden geselecteerd of doorzocht.

AES-256-wachtwoordversleuteling

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;

Ondertekenen met een PFX-certificaat

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;

PAdES via de sgcSign-brug

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;

Een naam en een gebied zwartlakken

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;

Alle tekst omzetten naar contouren

procedure OutlineText(const AInput, AOutput: string);
var
  oOutliner: TsgcPDFTextOutliner;
begin
  oOutliner := TsgcPDFTextOutliner.Create;
  try
    // every glyph becomes a vector path, unused fonts are removed
    oOutliner.Apply(AInput, AOutput);
    WriteLn('Glyphs outlined: ', oOutliner.ConvertedGlyphs);
    WriteLn('Fonts removed: ', oOutliner.RemovedFonts);
  finally
    oOutliner.Free;
  end;
end;

Archivering & toegankelijkheid

FunctieDetails
PDF/APDF/A-1-, PDF/A-2- en PDF/A-3-uitvoer in niveaus a en b, en PDF/A-4 en PDF/A-4f (paA4, paA4f) als PDF 2.0-bestanden, met XMP-metadata, output intent en ingesloten lettertypen. In Delphi en .NET.
ValidatorTsgcPDFAValidator controleert een bestand tegen het geselecteerde PDF/A-niveau, inclusief PDF/A-4 en PDF/UA-2, en rapporteert fouten en waarschuwingen. De PDF/A-4-, PDF/A-4f- en PDF/UA-2-uitvoer wordt gecontroleerd met veraPDF.
Getagde PDFStructuurboom met Document, Part, Sect, H1 tot en met H6, P, L, LI, Table, TR, TH, TD en Figure met alternatieve tekst, gemarkeerde inhoud, rolmapping, taal en MarkInfo.
PDF/UA-1Toegankelijke uitvoer samen met PDF/A-2a of PDF/A-3a, en PDF/UA-1-controles in de validator.
PDF/UA-2Stel PDFUAPart in op puaPart2 voor PDF/UA-2-uitvoer (ISO 14289-2), alleen of samen met PDF/A-4, met de PDF 2.0-structuurnaamruimte en structuurbestemmingen. In Delphi en .NET, inclusief de sgcReports-export en de sgcUIPDF-brug.
BijlagenIngesloten bestanden met MIME-type, datums en PDF/A-3 en PDF/A-4f gerelateerde bestandsrelaties.
Factur-X en ZUGFeRDSluit de factuur-XML in met het Factur-X XMP-uitbreidingsschema voor de profielen Minimum, Basic WL, Basic, EN 16931, Extended en XRechnung, en slaat het bestand op als PDF/A-3b.

Factur-X-factuur als PDF/A-3b

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 valideren

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;

PDF/A-4 en PDF/UA-2 in één bestand

procedure CreateArchive(const AFileName: string);
var
  oPDF: TsgcPDFDocument;
  oPage: TsgcPDFPage;
  vFont: Integer;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.Info.Title := 'Annual report';
    oPDF.Tagged := True;
    oPDF.StructureTree.Lang := 'en-US';
    // PDF/A-4 and PDF/UA-2 in the same PDF 2.0 file
    oPDF.SetPDFALevel(paA4);
    oPDF.PDFUA := True;
    oPDF.PDFUAPart := puaPart2;
    vFont := oPDF.AddTrueTypeFont('Arial', False, False);
    oPage := oPDF.AddPage(595, 842);
    oPage.Tagging.BeginElement(stH1);
    oPage.DrawTextTT('Annual report', 50, 770, vFont, 20);
    oPage.Tagging.EndElement;
    oPage.Tagging.BeginElement(stP);
    oPage.DrawTextTT('Archived and accessible.', 50, 740, vFont, 11);
    oPage.Tagging.EndElement;
    oPDF.SaveToFile(AFileName);
  finally
    oPDF.Free;
  end;
end;

Om het bestand te valideren, maakt u de TsgcPDFAValidator aan met paA4 en stelt u de eigenschappen PDFUA en PDFUAPart in. Zie de helponderwerpen PDF/A-4 en PDF/UA-2.

Drukvoorbereiding

Dezelfde API voor drukvoorbereiding in Delphi en .NET, met dezelfde namen.

FunctieDetails
PaginaboxenMediaBox, CropBox, BleedBox, TrimBox en ArtBox op TsgcPDFPage, met Rotate en UserUnit, behouden bij het laden en opslaan van een bestand.
ImpositieAddPageAsForm maakt van een pagina van een ander document, bijgesneden op een paginabox of een rechthoek, een form-XObject dat DrawForm, DrawFormInRect en DrawFormMatrix op een vel plaatsen. De PDFImposition-demo bouwt er vellayouts mee.
DrukmarkeringenDrawCropMarks, DrawBleedMarks, DrawRegistrationMark, DrawColorBar en DrawSlugText.
SteunkleurenSeparation-, Registration- en DeviceN-kleurruimten, en overprint-grafische toestanden voor vulling en lijn.
OverprintvoorbeeldOverprintPreview op de renderer simuleert overprint op het scherm en in rasteruitvoer.
PDF/X-output intentSetOutputIntent schrijft een GTS_PDFX-output intent met een optioneel ICC-profiel, en PDFXVersion stelt de PDF/X-versiesleutel in.
ViewerhulpmiddelenWeergave van paginaboxen, hints voor paginaboxen en een meetgereedschap in de VCL- en WinForms-viewers, en in de WPF- en Avalonia-viewers.

Twee pagina's op één vel met snijmarkeringen (.NET)

using esegece.sgcPDF;
using static esegece.sgcPDF.sgcPDF_Types;

using (TsgcPDFDocument oSource = new TsgcPDFDocument())
using (TsgcPDFDocument oSheet = new TsgcPDFDocument())
{
    oSource.LoadFromFile("flyer.pdf");
    // two A4 pages side by side, placed by their trim box, with crop marks
    TsgcPDFPage oPage = oSheet.AddPage(1270, 922);
    for (int i = 0; i < 2; i++)
    {
        int vForm = oSheet.AddPageAsForm(oSource, i, TsgcPDFPageBox.ppbTrimBox);
        TsgcPDFRect oTrim = sgcPDFRect(40 + i * 595, 40, 635 + i * 595, 882);
        oPage.DrawFormInRect(vForm, oTrim, true);
        oPage.DrawCropMarks(oTrim);
    }
    oSheet.SaveToFile("sheet.pdf");
}

sgcPDF voor .NET

Een volledig managed C#-port van de bibliotheek, één C#-bestand per Delphi-unit, met dezelfde klassenamen (TsgcPDFDocument, TsgcPDFPage, TsgcPDFEditor enzovoort). Het wordt geleverd als NuGet-pakketten, elk ook beschikbaar als gratis Community-editie met de suffix .Community.

PakketDetails
esegece.sgcPDFDe bibliotheek: documentmodel, parser, writer, editor, renderingkern, lettertypen, afbeeldingen, formulieren, handtekeningen, versleuteling, tekst- en afbeeldingsextractie, drukvoorbereiding, PDF/A (inclusief PDF/A-4) en PDF/UA-2. Voor .NET Standard 2.0, .NET Framework 4.7.2, .NET 6, .NET 8, .NET 9 en .NET 10.
esegece.sgcPDF.WinFormsGDI-renderer en canvas, EMF-afspelen, paginaexport naar afbeeldingen, en de besturingselementen TsgcPDFViewerControl (met interactieve annotaties en reacties op opmerkingen), TsgcPDFThumbnailView, TsgcPDFBarcodeControl en TsgcPDFOutlineView, met paginaboxen en het meetgereedschap. Voor .NET Framework 4.7.2 en .NET 8 op Windows.
esegece.sgcPDF.WpfWPF-viewer: TsgcWpfPDFViewer, TsgcWpfPDFThumbnailView en TsgcWpfPDFOutlineView. Voor .NET Framework 4.7.2, .NET 8, .NET 9 en .NET 10 op Windows.
esegece.sgcPDF.AvaloniaAvalonia-viewer: TsgcAvaloniaPDFViewer, TsgcAvaloniaPDFThumbnailView en TsgcAvaloniaPDFOutlineView. Voor .NET 8, .NET 9 en .NET 10.
esegece.sgcPDF.sgcSignOptionele brug naar sgcSign .NET: TsgcPDFPAdESSigner ondertekent naar PAdES B-B, B-T, B-LT en B-LTA met elke sgcSign-sleutelprovider.
Community-editieDezelfde functies als de geregistreerde editie. Gratis voor individuen en organisaties met een jaarlijkse brutomzet onder 1 miljoen euro en niet meer dan 5 ontwikkelaars, met een korte melding bij het opstarten.

Installatie

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
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Bouw met sgcPDF

Download de proefversie en voeg PDF-functies toe aan uw Delphi- of C++Builder-toepassing.