Delphi 7 a 13 e C++ Builder Sem DLLs

sgcPDF, uma biblioteca de PDF em Object Pascal puro para Delphi e C++ Builder

Crie, edite, visualize, renderize, extraia, criptografe, assine, redija e valide arquivos PDF com componentes escritos inteiramente em Object Pascal. Não há nenhuma DLL para implantar nem nenhum mecanismo de PDF externo: o parser, o gravador, as fontes, os decodificadores de imagem, os renderizadores e a criptografia são compilados dentro da sua aplicação. O núcleo roda em Windows, Linux, macOS, iOS e Android, com um controle visualizador VCL, um visualizador FireMonkey e um renderizador raster para servidores. O código-fonte completo está incluso.

Código-fonte completo
Windows, Linux, macOS, iOS & Android
Delphi 7 → 13, C++ Builder
Zero dependências externas
15 componentes sgcPDF_*.pas PDF 1.0 a 2.0, leitura e gravação, em Object Pascal puro.
Criar TsgcPDFDocument
Editar TsgcPDFEditor
Visualizar TsgcPDFViewerControl
Extrair TsgcPDFTextExtractor
Assinar PAdES B-B to B-LTA
PDF/A & PDF/UA TsgcPDFAValidator
Redigir TsgcPDFRedactor
15 Componentes da paleta Documento, editor, visualizadores, extratores, assinatura
0 DLLs para implantar Parser, renderizador, fontes e criptografia em Pascal
5 Sistemas operacionais Windows, Linux, macOS, iOS, Android
6 Níveis de conformidade PDF/A PDF/A-1, 2 e 3, níveis a e b, além de PDF/UA-1

Três coisas que vale a pena saber primeiro

Nada para instalar na máquina de destino

O sgcPDF não encapsula o PDFium, o Ghostscript, um servidor COM ou qualquer outra biblioteca nativa. A análise, a gravação, a incorporação e o subconjunto de fontes, a decodificação de imagens, a renderização, a criptografia e a assinatura estão implementadas nas units sgcPDF_*.pas, de modo que seu executável é toda a implantação.

As units do núcleo não têm dependência de VCL ou FMX, de modo que o mesmo código roda em uma ferramenta de console, um serviço do Windows, um daemon Linux ou um servidor web.

Escopo de plataformas

Quais partes rodam onde

Criação, edição, extração de texto e imagens, formulários, criptografia, assinaturas, redição, PDF/A e o renderizador raster compilam para Windows e Linux64, e para macOS, iOS e Android. O renderizador GDI, o exportador e os controles visualizadores VCL são exclusivos do Windows, e o TsgcPDFViewerFMX cobre Windows, macOS, iOS e Android.

Assinaturas avançadas

PAdES via sgcSign, assinatura básica embutida

O sgcPDF assina e verifica arquivos PDF sozinho com um certificado PFX. Para os níveis PAdES baseline B-B, B-T, B-LT e B-LTA, e para chaves mantidas em cartões inteligentes, no repositório de certificados do Windows ou em HSMs na nuvem, a ponte opcional TsgcPDFPAdESSigner usa os provedores de chave do sgcSign, licenciado separadamente.

Uma biblioteca para todo o ciclo de vida do PDF

Da primeira página que você escreve até o arquivo assinado, arquivado e redigido que você entrega, cada etapa roda na mesma base de código Object Pascal.

Criar: Documentos a partir de código, HTML ou um canvas

Páginas, texto nas 14 fontes padrão ou fontes TrueType e OpenType incorporadas e em subconjunto, imagens (JPEG, PNG, BMP, TIFF), linhas, curvas, gradientes, tabelas que fluem entre páginas, códigos de barras e QR codes, anotações, marcadores e camadas de conteúdo opcionais. O TsgcPDFHTMLRenderer transforma HTML com CSS em PDF paginado, e o TsgcPDFCanvas junto com a reprodução de EMF convertem código de desenho existente.

Ver os recursos →

Editar: Altere arquivos que você não escreveu

Marcas d’água, cabeçalhos, rodapés, numeração de páginas e carimbos, mesclagem e divisão, extração, inserção, exclusão, rotação e reordenação de páginas. O salvamento incremental anexa uma nova revisão ao arquivo original, o que mantém válidas as assinaturas anteriores.

Ver os recursos →

Visualizar e renderizar: visualizadores VCL e FMX, além de um renderizador de servidor

Um controle visualizador VCL com miniaturas, esquema, seleção de texto, busca, preenchimento de formulários e impressão, um visualizador FireMonkey para Windows, macOS, iOS e Android, e um renderizador raster em Object Pascal puro que converte páginas em PNG em servidores Windows e Linux sem GDI.

Ver os recursos →

Extrair: Texto, posições e imagens

Texto simples por página ou para o documento inteiro, fragmentos de texto com coordenadas, fonte e tamanho, e as imagens de uma página decodificadas para PNG, JPEG ou BMP. Os decodificadores cobrem Flate, LZW, ASCII85, RunLength, JPEG (baseline e progressivo), JPEG 2000, CCITT G3/G4 e JBIG2.

Ver os recursos →

Proteger e assinar: Criptografia, assinaturas, redição

Criptografia por senha RC4 40/128, AES-128 e AES-256, criptografia por certificado (chave pública), assinaturas digitais com campos visíveis e carimbos de data/hora, PAdES B-B, B-T, B-LT e B-LTA por meio da ponte sgcSign, verificação de assinaturas e uma redição real que remove o conteúdo em vez de apenas cobri-lo.

Ver os recursos →

Conformidade: PDF/A, PDF/UA, PDF marcado, Factur-X

Saída PDF/A-1, PDF/A-2 e PDF/A-3 nos níveis a e b com um validador embutido, PDF marcado com árvore de estrutura e texto alternativo, verificações PDF/UA-1, arquivos incorporados com relações PDF/A-3, e incorporação de notas fiscais eletrônicas Factur-X, ZUGFeRD e XRechnung.

Ver os recursos →

Poucas linhas de Delphi

Cada amostra nesta página vem de um programa que foi compilado com as fontes do sgcPDF e executado. As coordenadas estão em pontos PDF (1/72 de polegada), com a origem no canto inferior esquerdo da 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 na paleta do sgcPDF

Solte-os em um formulário ou em um módulo de dados, ou crie-os em código. Cada componente também pode ser usado sem formulário, a partir de aplicações de console e serviços.

Todos os componentes

Teste e Licenciamento

O sgcPDF é um produto novo. Entre em contato com a eSeGeCe para solicitar um teste ou um orçamento. Como em toda biblioteca eSeGeCe, a licença inclui o código-fonte completo.

sgcPDF

  • Todos os 15 componentes e as units sgcPDF_*.pas
  • Delphi 7 a 13 e C++ Builder
  • Windows, Linux, macOS, iOS e Android
  • Código-fonte completo

Outros produtos da eSeGeCe

Combine o sgcPDF com nossas outras bibliotecas de componentes para Delphi e C++ Builder.

sgcSign

Assinaturas digitais empresariais. XAdES, PAdES, CAdES e ASiC com 10 provedores de chave e 21 perfis de país da UE.

Saiba mais →

sgcWebSockets

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

Saiba mais →

sgcHTML

Componentes de HTML e UI do lado do servidor para Delphi e C++ Builder, construídos sobre Bootstrap e htmx.

Saiba mais →

sgcCrypto

Criptografia moderna em Object Pascal puro: AES-GCM, SHA-3, Ed25519, X.509 e pós-quântica ML-KEM e ML-DSA.

Saiba mais →
3,000+Desenvolvedores
20+Anos
761+Componentes
30+Integrações de API
5Plataformas
Garantia de reembolso de 30 diasNão ficou satisfeito? Solicite o reembolso total em até 30 dias após a compra. Ver política de reembolso

PDF sem a DLL

Crie, visualize, assine e arquive arquivos PDF com o código Delphi ou C++ Builder que você já tem.