Pascal nativo a nivel de código fuente · Delphi y C++Builder · Entrega en un solo ejecutable

Compile capacidades de nivel empresarial de PDF directamente en su archivo ejecutable: se llama "lib", pero no es una capa superficial de un motor de terceros

PDF Library for Delphi es el kit de herramientas propio de losLab basado en Pascal que se integra directamente en sus proyectos como código nativo; permite la entrega en un solo EXE, y no necesita ningún proceso de servidor obligatorio ni un servicio externo en formato de documento portátil (PDF). Sus implementaciones para C subyacentes (zlib-ng, libjpeg-turbo) están enlazadas estáticamente como archivos de objetos bajo licencias flexibles.

Ocho puntos fuertes que hacen que PDF Library for Delphi se destaque

Cada punto que sigue es una función concreta y validada, trazable a una prueba y documento técnico que consta en las referencias

Nativo a nivel de código fuente · no es un contenedor PDFlib

A pesar de usar el nombre "lib", PDF Library for Delphi es verdaderamente de losLab: se crea de forma nativa a nivel del código fuente y no requiere depender de bibliotecas externas pagas; las características en lenguaje C quedan integradas, y como consecuencia no existen DLL externos a agregar

Compatible con el lanzamiento en EXE único, sin depender de algo exterior

Códecs acelerados por SIMD

Flate usando zlib-ng (despachado mediante SSE2/SSSE3/SSE4.x/PCLMULQDQ/AVX2 en plataformas Win64x) al igual que funciones JPEG integradas gracias a la base del NASM SIMD de libjpeg-turbo: todas presentes como librerías integradas estáticas y de licencias sumamente amigables que actúan acelerando el procesamiento en segundo plano

API disponible exactamente de la misma manera para Delphi, C++ Builder, ActiveX, o DLL

Cifrado por hardware AES-NI

Cobertura total con RC4 40/128-bit, 128-bit AES y las variantes compatibles del AES a 256 bits (Acrobat 7/9/X); acelerado en procesadores mediante AES-NI pero incluyendo vías seguras alternas de software (las firmas son idénticas en ambas). Funciones a un archivo (EncryptFile / DecryptFile) que pueden ser invocadas sin siquiera necesitar almacenar previamente los componentes de los objetos en RAM

Asignación alineada a 32 bytes, texto cifrado idéntico en hardware y software

Gigabytes/millones de objetos reescritos

Descartando por completo la anterior barrera que existía de los 2 GB por las limitaciones base para un AnsiString, es posible leer de disco, cifrar y descifrar, y reescribir objetos por gigabytes e incontables en número debido al mecanismo por lotes/ventana, donde nada de las pesadas cadenas son guardadas en la RAM todo el tiempo

Para 2 GB y 1,67 millones de objetos: 32 seg. para cifrar, 23 para descifrar, 11 seg. reescritura directa

Firmas digitales + PAdES B-LTA

Mecanismos completos a través de certificados en PFX (SetSignProcessPFXFromFile) así como llaves mediante llamadas API; cubriendo modalidades normadas por PAdES B-B/B-T/B-LT/B-LTA y compatibilidad con diccionarios y controles (CRL/OCSP) que validan firmas junto con RFC 3161 para validaciones futuras a lo largo de décadas de los formatos electrónicos: se puede verificar todo con SigningWorkbench y ComplianceWorkbench

Funciona incluso para directivas de archivos a largo plazo e inspección probatoria judicial

Facturación electrónica: Factur-X / ZUGFeRD / XRechnung

Cumpla con esquemas modernos al adjuntar XML validados a un contenedor en formato estándar para archivo (PDF/A-3): utilice AddFacturXAssociatedFileFromString, ExtractFacturXXMLToString y ValidateFacturXInvoice, revisados en compatibilidad tanto en Mustang como en veraPDF

Cumple y se rige en base a estándares y sistemas europeos probados

Cumplimiento y preflight

Formatos normados (PDF/A en variantes 1b, 1a, 2b, 2u, 3b, 3a, 3u) junto con PDF/UA y etiquetados; es posible forzar o comprobar el guardado bajo ciertos atributos (descartar y cancelar guardados); los reportes de preflight (para validaciones previas de compatibilidad PDF/A y UA) permiten que un sistema integrado de CI los verifique automáticamente (en JSON, HTML, texto, o CSV)

Fijar estándares al compilar mediante: LockSaveVersion o UnlockSaveVersion

Múltiples opciones de renderizado y entregables

Disponibles para (VCL, Delphi Win32, C++Builder Win64x) pero sumamente útiles a nivel de proyectos DLL o integrados al SO con compatibilidad macOS Dylib y Active X / OCX; integran las funciones gráficas PDFium, y GDI (y C++ Cairo)

Un entorno base que se transporta a múltiples lenguajes e integraciones nativas

Calidad en las versiones

2 GBarchivos en gigabytes, más de 1,67 millones de objetos verificados
394/394pasa con éxito las métricas DUnitX para Win32 / Win64
1000+documentación con más de mil entradas API
38traducciones para documentación global

Quiénes deberían integrar seriamente PDF Library for Delphi

Proyectos del lado del servidor (alto volumen)

Desempeñe extracciones directas sin mermar o ahogar la memoria de las CPU, y opere de un archivo al otro

Almacenes que usen la validación a largo plazo de Firmas

PAdES B-LTA, registros del RFC 3161 para estampas, así como diccionarios integrales — ideal para registros donde requiera probatoria legal luego de mucho tiempo

Aplicaciones donde se emite una factura

Incrustación de archivos de esquemas contables de facto (XRechnung y afines a XML en A-3) compatibles y preparados para integraciones formales gubernamentales

Soluciones empresariales interoperables

Misma potencia de funciones para VB.NET/C#/VC++ con las entregas Dylib macOS y DLL / Active X

Software monolítico

Programas de una sola descarga que no quieran integrar archivos adyacentes de dudosa precedencia o para poder realizar pruebas dentro del código de extremo a extremo

Servicios editoriales

Compatibilidad directa de HTML a fuentes embebidas: Tablas, tipografía Type 1 (junto con OpenType), CJK (con mapeado CMap) con interletraje exacto

Cifre un archivo de gran tamaño con un par de líneas

Cifrado directo en sistema, evadiendo cargar grandes tamaños a RAM:

uses PDFlibrary;

// Cifrar a AES-256 archivos (2 GB) directamente
PDFlib.EncryptFile('big-input.pdf',
                   'big-encrypted.pdf',
                   'owner-password',
                   esAES256);
// ~32 seg. en más de millón y medio de archivos, el pico de memoria consumida se ubica casi nulo al contrastarse con el tamaño total