Delphi 7 a 13 y C++ Builder Sin DLL

sgcPDF, una biblioteca PDF en Object Pascal puro para Delphi y C++ Builder

Crea, edita, visualiza, renderiza, extrae, cifra, firma, redacta y valida archivos PDF con componentes escritos enteramente en Object Pascal. No hay ninguna DLL que distribuir ni ningún motor PDF externo: el analizador, el escritor, las fuentes, los decodificadores de imagen, los renderizadores y la criptografía se compilan dentro de tu aplicación. El núcleo se ejecuta en Windows, Linux, macOS, iOS y Android, con un control visor VCL, un visor FireMonkey y un renderizador ráster para servidores. Se incluye el código fuente completo.

Código fuente completo
Windows, Linux, macOS, iOS & Android
Delphi 7 → 13, C++ Builder
Cero dependencias externas
15 componentes sgcPDF_*.pas PDF 1.0 a 2.0, lectura y escritura, en Object Pascal puro.
Crear TsgcPDFDocument
Editar TsgcPDFEditor
Visualizar TsgcPDFViewerControl
Extraer TsgcPDFTextExtractor
Firmar PAdES B-B to B-LTA
PDF/A & PDF/UA TsgcPDFAValidator
Redactar TsgcPDFRedactor
15 Componentes de la paleta Documento, editor, visores, extractores, firma
0 DLL que distribuir Analizador, renderizador, fuentes y criptografía en Pascal
5 Sistemas operativos Windows, Linux, macOS, iOS, Android
6 Niveles de conformidad PDF/A PDF/A-1, 2 y 3, niveles a y b, más PDF/UA-1

Tres cosas que conviene saber primero

Nada que instalar en la máquina de destino

sgcPDF no envuelve PDFium, Ghostscript, un servidor COM ni ninguna otra biblioteca nativa. El análisis, la escritura, la incrustación y subconjunto de fuentes, la decodificación de imágenes, el renderizado, el cifrado y la firma están implementados en las unidades sgcPDF_*.pas, de modo que tu ejecutable es todo el despliegue.

Las unidades del núcleo no tienen dependencia de VCL ni de FMX, de modo que el mismo código se ejecuta en una herramienta de consola, un servicio de Windows, un demonio de Linux o un servidor web.

Alcance de plataformas

Qué partes se ejecutan dónde

La creación, la edición, la extracción de texto e imágenes, los formularios, el cifrado, las firmas, la redacción, PDF/A y el renderizador ráster se compilan para Windows y Linux64, y para macOS, iOS y Android. El renderizador GDI, el exportador y los controles visores VCL son solo para Windows, y TsgcPDFViewerFMX cubre Windows, macOS, iOS y Android.

Firmas avanzadas

PAdES a través de sgcSign, firma básica incorporada

sgcPDF firma y verifica archivos PDF por sí solo con un certificado PFX. Para los niveles PAdES baseline B-B, B-T, B-LT y B-LTA, y para claves alojadas en tarjetas inteligentes, el almacén de certificados de Windows o HSM en la nube, el puente opcional TsgcPDFPAdESSigner utiliza los proveedores de claves de sgcSign, que se licencia por separado.

Una biblioteca para todo el ciclo de vida del PDF

Desde la primera página que escribes hasta el archivo firmado, archivado y redactado que entregas, cada paso se ejecuta en la misma base de código Object Pascal.

Crear: Documentos desde código, HTML o un lienzo

Páginas, texto en las 14 fuentes estándar o fuentes TrueType y OpenType incrustadas y en subconjunto, imágenes (JPEG, PNG, BMP, TIFF), líneas, curvas, degradados, tablas que fluyen entre páginas, códigos de barras y QR, anotaciones, marcadores y capas de contenido opcional. TsgcPDFHTMLRenderer convierte HTML con CSS en PDF paginado, y TsgcPDFCanvas junto con la reproducción de EMF convierten código de dibujo existente.

Ver las funciones →

Editar: Modifica archivos que no escribiste

Marcas de agua, encabezados, pies de página, números de página y sellos, combinar y dividir, extraer, insertar, eliminar, rotar y reordenar páginas. El guardado incremental añade una nueva revisión al archivo original, lo que mantiene válidas las firmas anteriores.

Ver las funciones →

Visualizar y renderizar: visores VCL y FMX, más un renderizador de servidor

Un control visor VCL con miniaturas, esquema, selección de texto, búsqueda, relleno de formularios e impresión, un visor FireMonkey para Windows, macOS, iOS y Android, y un renderizador ráster en Object Pascal puro que convierte páginas en PNG en servidores Windows y Linux sin GDI.

Ver las funciones →

Extraer: Texto, posiciones e imágenes

Texto plano por página o de todo el documento, fragmentos de texto con coordenadas, fuente y tamaño, y las imágenes de una página decodificadas a PNG, JPEG o BMP. Los decodificadores cubren Flate, LZW, ASCII85, RunLength, JPEG (baseline y progresivo), JPEG 2000, CCITT G3/G4 y JBIG2.

Ver las funciones →

Proteger y firmar: Cifrado, firmas, redacción

Cifrado con contraseña RC4 40/128, AES-128 y AES-256, cifrado por certificado (clave pública), firmas digitales con campos visibles y sellos de tiempo, PAdES B-B, B-T, B-LT y B-LTA a través del puente sgcSign, verificación de firmas y redacción real que elimina el contenido en lugar de cubrirlo.

Ver las funciones →

Cumplir: PDF/A, PDF/UA, PDF etiquetado, Factur-X

Salida PDF/A-1, PDF/A-2 y PDF/A-3 en niveles a y b con un validador incorporado, PDF etiquetado con árbol de estructura y texto alternativo, comprobaciones PDF/UA-1, archivos incrustados con relaciones PDF/A-3, e incrustación de facturas electrónicas Factur-X, ZUGFeRD y XRechnung.

Ver las funciones →

Unas pocas líneas de Delphi

Cada muestra de esta página procede de un programa compilado con las fuentes de sgcPDF y ejecutado. Las coordenadas están en puntos PDF (1/72 de pulgada), con el origen en la esquina inferior izquierda de la página.

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 componentes en la paleta de sgcPDF

Colócalos en un formulario o un módulo de datos, o créalos en código. Cada componente también se puede usar sin formulario, desde aplicaciones de consola y servicios.

Todos los componentes

Prueba y licencias

sgcPDF es un producto nuevo. Contacta con eSeGeCe para solicitar una prueba o un presupuesto. Como en toda biblioteca de eSeGeCe, la licencia incluye el código fuente completo.

sgcPDF

  • Los 15 componentes y las unidades sgcPDF_*.pas
  • Delphi 7 a 13 y C++ Builder
  • Windows, Linux, macOS, iOS y Android
  • Código fuente completo

Otros productos de eSeGeCe

Combina sgcPDF con nuestras otras bibliotecas de componentes para Delphi y C++ Builder.

sgcSign

Firmas digitales empresariales. XAdES, PAdES, CAdES y ASiC con 10 proveedores de claves y 21 perfiles de país de la UE.

Más información →

sgcWebSockets

Componentes empresariales de WebSocket, HTTP/2, MQTT, AMQP y WebRTC para Delphi, C++ Builder y .NET.

Más información →

sgcHTML

Componentes HTML y de interfaz de usuario del lado del servidor para Delphi y C++ Builder, construidos sobre Bootstrap y htmx.

Más información →

sgcCrypto

Criptografía moderna en Object Pascal puro: AES-GCM, SHA-3, Ed25519, X.509 y post-cuánticos ML-KEM y ML-DSA.

Más información →
3,000+Desarrolladores
20+Años
761+Componentes
30+Integraciones de API
5Plataformas
Garantía de devolución de 30 días¿No estás satisfecho? Solicita un reembolso completo en los 30 días posteriores a la compra. Ver política de reembolso

PDF sin la DLL

Crea, visualiza, firma y archiva archivos PDF con el código Delphi o C++ Builder que ya tienes.