Delphi 7-13 e C++ Builder Nessuna DLL

sgcPDF, una libreria PDF in puro Object Pascal per Delphi e C++ Builder

Crea, modifica, visualizza, esegui il rendering, estrai, cifra, firma, redigi e valida file PDF con componenti scritti interamente in Object Pascal. Non c’è nessuna DLL da distribuire né alcun motore PDF esterno: il parser, lo scrittore, i font, i decoder immagine, i renderer e la crittografia sono compilati nella tua applicazione. Il nucleo funziona su Windows, Linux, macOS, iOS e Android, con un controllo visualizzatore VCL, un visualizzatore FireMonkey e un renderer raster per i server. Il codice sorgente completo è incluso.

Codice sorgente completo
Windows, Linux, macOS, iOS & Android
Delphi 7 → 13, C++ Builder
Zero dipendenze esterne
15 componenti sgcPDF_*.pas PDF 1.0-2.0, lettura e scrittura, in puro Object Pascal.
Crea TsgcPDFDocument
Modifica TsgcPDFEditor
Visualizza TsgcPDFViewerControl
Estrai TsgcPDFTextExtractor
Firma PAdES B-B to B-LTA
PDF/A & PDF/UA TsgcPDFAValidator
Redigi TsgcPDFRedactor
15 Componenti della palette Documento, editor, visualizzatori, estrattori, firma
0 DLL da distribuire Parser, renderer, font e crittografia in Pascal
5 Sistemi operativi Windows, Linux, macOS, iOS, Android
6 Livelli di conformità PDF/A PDF/A-1, 2 e 3, livelli a e b, più PDF/UA-1

Tre cose da sapere prima di iniziare

Niente da installare sulla macchina di destinazione

sgcPDF non racchiude PDFium, Ghostscript, un server COM o un’altra libreria nativa. L’analisi, la scrittura, l’incorporamento e il subsetting dei font, la decodifica delle immagini, il rendering, la cifratura e la firma sono implementati nelle unità sgcPDF_*.pas, quindi il tuo eseguibile è l’intero deployment.

Le unità del nucleo non hanno alcuna dipendenza da VCL o FMX, quindi lo stesso codice viene eseguito in uno strumento a riga di comando, un servizio Windows, un demone Linux o un server web.

Ambito piattaforme

Quali parti girano dove

Creazione, modifica, estrazione di testo e immagini, moduli, cifratura, firme, redazione, PDF/A e il renderer raster vengono compilati per Windows e Linux64, oltre che per macOS, iOS e Android. Il renderer GDI, l’esportatore e i controlli visualizzatore VCL sono disponibili solo su Windows, mentre TsgcPDFViewerFMX copre Windows, macOS, iOS e Android.

Firme avanzate

PAdES tramite sgcSign, firma di base integrata

sgcPDF firma e verifica autonomamente i file PDF con un certificato PFX. Per i livelli PAdES baseline B-B, B-T, B-LT e B-LTA, e per le chiavi conservate su smart card, nell’archivio certificati di Windows o su HSM cloud, il ponte opzionale TsgcPDFPAdESSigner utilizza i provider di chiavi di sgcSign, concesso in licenza separatamente.

Un’unica libreria per l’intero ciclo di vita del PDF

Dalla prima pagina che scrivi al file firmato, archiviato e redatto che consegni, ogni passaggio viene eseguito nella stessa base di codice Object Pascal.

Crea: documenti da codice, HTML o un canvas

Pagine, testo nei 14 font standard oppure font TrueType e OpenType incorporati e in subset, immagini (JPEG, PNG, BMP, TIFF), linee, curve, sfumature, tabelle che scorrono tra le pagine, codici a barre e QR code, annotazioni, segnalibri e livelli di contenuto opzionali. TsgcPDFHTMLRenderer trasforma HTML con CSS in PDF impaginato, mentre TsgcPDFCanvas e il replay EMF convertono codice di disegno esistente.

Vedi le funzionalità →

Modifica: cambia file che non hai scritto tu

Filigrane, intestazioni, piè di pagina, numeri di pagina e timbri, unione e divisione, estrazione, inserimento, eliminazione, rotazione e riordino delle pagine. Il salvataggio incrementale aggiunge una nuova revisione al file originale, mantenendo valide le firme precedenti.

Vedi le funzionalità →

Visualizza e rendering: visualizzatori VCL e FMX, più un renderer per server

Un controllo visualizzatore VCL con miniature, struttura, selezione del testo, ricerca, compilazione moduli e stampa, un visualizzatore FireMonkey per Windows, macOS, iOS e Android, e un renderer raster in puro Object Pascal che trasforma le pagine in PNG su server Windows e Linux senza GDI.

Vedi le funzionalità →

Estrai: testo, posizioni e immagini

Testo semplice per pagina o per l’intero documento, frammenti di testo con coordinate, font e dimensione, e le immagini di una pagina decodificate in PNG, JPEG o BMP. I decoder coprono Flate, LZW, ASCII85, RunLength, JPEG (baseline e progressivo), JPEG 2000, CCITT G3/G4 e JBIG2.

Vedi le funzionalità →

Proteggi e firma: cifratura, firme, redazione

Cifratura con password RC4 40/128, AES-128 e AES-256, cifratura tramite certificato (chiave pubblica), firme digitali con campi visibili e marche temporali, PAdES B-B, B-T, B-LT e B-LTA tramite il ponte sgcSign, verifica delle firme e una redazione vera che rimuove il contenuto invece di coprirlo.

Vedi le funzionalità →

Conformità: PDF/A, PDF/UA, PDF taggato, Factur-X

Output PDF/A-1, PDF/A-2 e PDF/A-3 nei livelli a e b con un validatore integrato, PDF taggato con albero di struttura e testo alternativo, controlli PDF/UA-1, file incorporati con relazioni PDF/A-3, e incorporamento di fatture elettroniche Factur-X, ZUGFeRD e XRechnung.

Vedi le funzionalità →

Poche righe di Delphi

Ogni esempio in questa pagina proviene da un programma compilato con i sorgenti sgcPDF ed eseguito. Le coordinate sono in punti PDF (1/72 di pollice), con l’origine nell’angolo inferiore sinistro della 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 componenti nella palette sgcPDF

Trascinali su una form o un modulo dati, oppure creali via codice. Ogni componente è utilizzabile anche senza una form, da applicazioni console e servizi.

Tutti i componenti

Prova e licenze

sgcPDF è un nuovo prodotto. Contatta eSeGeCe per richiedere una prova o un preventivo. Come per ogni libreria eSeGeCe, la licenza include il codice sorgente completo.

sgcPDF

  • Tutti i 15 componenti e le unità sgcPDF_*.pas
  • Delphi 7-13 e C++ Builder
  • Windows, Linux, macOS, iOS e Android
  • Codice sorgente completo

Altri prodotti eSeGeCe

Abbina sgcPDF alle nostre altre librerie di componenti per Delphi e C++ Builder.

sgcSign

Firme digitali aziendali. XAdES, PAdES, CAdES e ASiC con 10 provider di chiavi e 21 profili per paese UE.

Scopri di più →

sgcWebSockets

Componenti aziendali WebSocket, HTTP/2, MQTT, AMQP e WebRTC per Delphi, C++ Builder e .NET.

Scopri di più →

sgcHTML

Componenti HTML e UI lato server per Delphi e C++ Builder, basati su Bootstrap e htmx.

Scopri di più →

sgcCrypto

Crittografia moderna in puro Object Pascal: AES-GCM, SHA-3, Ed25519, X.509 e post-quantum ML-KEM e ML-DSA.

Scopri di più →
3,000+Sviluppatori
20+Anni
761+Componenti
30+Integrazioni API
5Piattaforme
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso

PDF senza la DLL

Crea, visualizza, firma e archivia file PDF con il codice Delphi o C++ Builder che hai già.