Componentes principales
- TPdf — componente principal para el manejo de documentos PDF, para abrir, navegar, extraer texto y editar documentos PDF
- TPdfView — componente visual para mostrar e interactuar con las páginas PDF
- TPdfReadingSession — componente de orquestación de lectura en voz alta para motores TTS del host y seguimiento de palabras en TPdfView
- TPdfThumbnailView — panel lateral desplazable de miniaturas para la navegación entre páginas
Operaciones con documentos
- Carga de documentos — cargue archivos PDF desde disco, streams de memoria, arreglos de bytes o adaptadores TStream bajo demanda mediante
LoadCustomDocument. PDFium lee bloques bajo demanda, de modo que los documentos de varios GB y las fuentes remotas o respaldadas por bases de datos no requieren una copia completa previa en memoria.- Protección con contraseña — abra documentos PDF protegidos con contraseña e informe los
UserPermissionsefectivos para la sesión autenticada- Creación de documentos — construya nuevos documentos PDF desde cero con
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageyCreatePath- Guardado de documentos — guarde documentos modificados con diversas opciones (incremental, eliminar seguridad) y versiones de destino PDF explícitas desde PDF 1.0 hasta PDF 1.7
- Salida PDF/A-1b —
SaveAsPdfA/SaveAsPdfAToStreampostprocesan el guardado base con una actualización incremental que inyecta un stream de metadatos XMP, un OutputIntent ICC sRGB y un catálogo de documento actualizado, de modo que el resultado sea conforme a PDF/A-1b. Se admiten perfiles ICC personalizados medianteTPdfASaveOptions.IccProfileData.- Validación PDF/A —
ValidatePdfAy la propiedad de solo lecturaPdfAConformanceescanean un documento abierto en busca de marcadores XMPpdfaid, OutputIntent con ICC incrustado, presencia de cifrado, e informan el nivel de conformidad (pac1a,pac1b,pac2b,pac3b,pacNoneopacUnknown) más una lista de entradasTPdfAValidationIssueque describen cada problema detectado- Orquestación de sesión de lectura en voz alta —
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageCharyEstimateSpokenWordIndexcoordinan motores TTS del host, fragmentos hablados, devoluciones de llamada de posición de palabra, ritmo estimado, pausa y reanudación, y actualizaciones del cursor de palabras en TPdfView- Validador de conformidad de versión PDF — cuando SaveAs apunta a PDF 1.0 a PDF 1.7, el escritor rechaza cualquier entrada de diccionario, filtro, subtipo de anotación, tipo de acción, fuente, espacio de color o parámetro de cifrado introducido después de la versión de destino elegida (por ejemplo, JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, anotaciones Polygon / Caret / Watermark / Redact, acciones JavaScript / Trans / SetState)
- Compresión de streams — la compresión FlateDecode automática garantiza que todos los streams PDF se compriman de manera óptima al guardar; establezca
Compressed := Falsepara omitirla en pipelines de depuración- Fusión de documentos — importe páginas desde otros documentos PDF
- Importación de subconjunto de páginas —
ImportPagesByIndexcopia un arreglo explícito de índices base cero desde un documento de origen, con InsertAt = 0 para insertar antes de la página 1 o InsertAt = PageCount para agregar al final. Pase un arreglo de índices vacío para importar todas las páginas del origen.- Composición N-up —
ImportNPagesToOnedevuelve unTPdfnuevo cuyas páginas son composiciones NumX×NumY de las páginas del documento de origen, dimensionadas en unidades de usuario PDF (1 unidad = 1/72 pulg)- Reordenamiento de páginas —
MovePagesreordena las páginas en sitio usando un arreglo de índices base cero y un índice de destino para la primera página movida- Reutilización de páginas mediante Form XObject —
CreateXObjectFromPagefabrica un handleTPdfXObjectreutilizable a partir de cualquier página de otro documento;InsertFormObjectFromXObjectinserta UNA copia de la página envuelta en la página actual. Ideal para marcas de agua, superposiciones de plantillas y flujos de trabajo de tipo "estampar una página en muchas". El objeto de página de destino se puede posicionar, escalar y rotar a través deFPDFPageObj_SetMatrixy los helpers deTPdfMatrix.- Gestión de páginas — agregue, elimine y manipule páginas individuales;
AddPage(0, ...)inserta la primerísima página y la activa inmediatamente- Cajas de página — lea y escriba MediaBox, CropBox, BleedBox, TrimBox y ArtBox en la página actual
- Idioma del catálogo — lea y escriba el idioma del documento almacenado en la entrada /Lang del catálogo
- IDs del tráiler — lea las entradas /ID permanentes y cambiantes del tráiler como bytes binarios
- Acciones JavaScript del documento — enumere los nombres y scripts de acciones JavaScript del árbol de nombres a nivel de documento
- Árbol de estructura de PDF etiquetado — inspeccione los elementos de estructura lógica, texto de accesibilidad, idioma, IDs de contenido marcado y jerarquía para páginas PDF etiquetadas
- Preferencias del visor — lea
PrintCopies,PrintPageRanges,PrintScalingyPrintPaperHandlingdel diccionario de preferencias del visor del documento; los PDF guardados tienen por defecto una acción de apertura en la primera página de tipo Fit Height
Operaciones de texto
- Extracción de texto — extraiga texto de páginas PDF con precisión a nivel de carácter mediante las propiedades
Text,TextInRectangle, las indexadasCharacter,CharacterRectangleyCharacterOrigin- Unidades de lectura por oraciones - TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits y BuildReadingUnits exponen registros TPdfReadingUnit de tamaño oración para escucha TTS sincronizada
- Resaltado de lectura palabra por palabra -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowAsigna un desplazamiento de carácter de página al TPdfWordBox que lo contiene, lo resalta y devuelve el índice de palabra; Resalta un TPdfWordBox como palabra hablada actual en TPdfView; Borra la superposición del cursor de lectura palabra por palabra actual en TPdfView; Controla el color de superposición usado para el cursor de lectura palabra por palabra actual; Controla si TPdfView desplaza la palabra hablada actual a la vista mientras sigue la lectura- Búsqueda de texto — encuentre texto con opciones de coincidencia de mayúsculas/minúsculas, palabra completa y consecutiva utilizando
FindFirst,FindNextyFindPrevious- Superposición de resaltado de búsqueda —
TPdfView.HighlightSearchTextescanea la página de vista actual y pinta una superposición real con mezcla alfa deHighlightColorsobre cada coincidencia en cada repintado, devolviendo el conteo de coincidencias.ClearHighlightretira la superposición; al navegar a una página diferente, esta se limpia automáticamente porque las coincidencias son específicas de cada página.HighlightColortieneclYellowcomo valor predeterminado y está publicada para que las aplicaciones puedan tematizarla.- Propiedades de carácter — acceda al tamaño de fuente, peso, ángulo y posición de caracteres individuales con las propiedades indexadas
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHyphenyCharacterMapError- Soporte para caracteres europeos —
AddTextcarga y almacena en caché automáticamente la fuente TrueType del sistema correspondiente antes de crear un objeto de texto, de modo que los caracteres acentuados en checo, francés, alemán, español, portugués, polaco y turco que las fuentes estándar incorporadas de PDFium no pueden representar ahora se renderizan correctamente sin ningún cambio de código- Adición de texto — agregue texto nuevo a las páginas PDF con fuentes, colores, transparencia y rotación personalizados
- Posicionamiento de objetos de texto — establezca posiciones por carácter para objetos de texto existentes mediante
SetTextPositionsyTPdfSingleArray- Información de fuentes — obtenga propiedades de fuente, incluidos el nombre de la familia, el estado de incrustación, el ángulo cursivo, ascenso/descenso y los datos de fuente sin procesar, por cada objeto de página
Soporte para anotaciones
- Tipos de anotaciones — soporte para anotaciones de tipo texto, enlace, resaltado, subrayado, tachado y muchos otros tipos
- Creación de anotaciones — cree nuevas anotaciones de manera programática
- Edición de anotaciones — modifique las propiedades de las anotaciones existentes, incluidos el color, la transparencia y el contenido
- Anotaciones de enlace — maneje enlaces internos y externos con soporte para acciones
Soporte para formularios
- Accesores para llenado de formularios por voz - FocusedFormFieldValue, FocusedFormFieldName y FocusedFormFieldDetails en TPdf y TPdfView exponen el valor, el nombre y TPdfFormFieldInfo del campo lógico actual para llenado de formularios con teclado o voz
- Tipos de formularios — soporte para formularios AcroForm y XFA
- Llenado de formularios — llenado interactivo de formularios con soporte para JavaScript
- Selección de la DLL V8 — establezca
EnableV8Engineantes de cargar para usarpdfium.v8.dlldesde la carpetaDLLs\Win32oDLLs\Win64correspondiente y consulte la disponibilidad de los helpers V8/XFA medianteV8FeaturesAvailable,XfaBStrHelpersAvailableyGetRecommendedV8Flags- Acceso a campos — lea y escriba los valores de los campos de formulario por índice o posición
- Información de campos — acceda al tipo de campo, banderas, nombre y otras propiedades
- Banderas de campo — actualice las banderas de campo AcroForm por índice o posición mediante
SetFormFieldFlags/SetFormFieldFlagsAt, incluidas las banderas de solo lectura, obligatorio, contraseña y selección múltiple- Aplanado de formularios —
GenerateFormAppearancesregenera el stream de apariencia /AP de cada widget de formulario en cada página, yFlattenPage/FlattenAllPagesintegran las anotaciones y los campos de formulario en el contenido estático de la página (no editable)- Selección de texto y deshacer/rehacer del widget de formulario — sobre el widget AcroForm enfocado, el visor expone
GetSelectedFormText(texto seleccionado actualmente),SelectAllFormText(seleccionar todos los caracteres), yFormUndo/FormRedo/FormCanUndo/FormCanRedo(controlan el historial de edición por widget de PDFium). Los seis cortocircuitan de manera segura cuando el visor está inactivo o cuando ningún widget tiene el foco.
Operaciones con imágenes
- Extracción de imágenes — extraiga bitmaps de las páginas PDF con la propiedad indexada
Bitmap; itereBitmapCountpara guardar cada imagen en disco- Inserción JPEG —
AddJpegImagerecibe un TStream con bytes JPEG sin procesar e incrusta la imagen como un XObject /DCTDecode sin recodificar- Soporte de Picture —
AddPictureacepta un objetoTPicturecon conversión automática de formato mediante las clases gráficas VCL/LCL registradas- Inserción directa de imágenes —
AddImage(FileName)reconoce cualquier formato registrado con las unidades gráficas VCL o LCL (BMP, PNG mediante PngImage, JPG, ...) y comparte el pipeline de AddPicture.AddImage(TBitmap)omite el intermediario TPicture, lo cual simplifica a los llamadores que ya tienen un TBitmap de renderizado o de tareas de generación por lotes.- Perfil ICC de imagen — los objetos de página de imagen exponen sus datos de perfil ICC incrustados cuando están presentes (binding para
FPDFImageObj_GetIccProfileDataDecoded)- Generación de miniaturas — genere bitmaps de miniaturas de la página actual mediante la propiedad
Thumbnailo renderice cualquier página base uno conTPdf.RenderPageThumbnailsin cambiarPageNumber
Unidades helper
- Infraestructura asíncrona —
FPdfAsyncexponeIPdfCancellationToken/IPdfCancellationTokenSourcepara una semántica de cancelación cooperativa desde la interfaz de usuario, un singleton reutilizablePdfNoCancellationTokeny un helper livianoTPdfFuture<T>que ejecuta un worker en un hilo en segundo plano y envía un envoltorioTPdfFutureResult<T>de vuelta al hilo principal, distinguiendo los casos de éxito, cancelación y falla- Adaptador de stream —
TPdfStreamAdapterconecta unTStreamde Pascal a las llamadasFPDF_FILEACCESSde PDFium, de modo queLoadCustomDocumentlea bloques bajo demanda en lugar de almacenar en búfer todo el PDF en memoria- Composición de matrices —
FPdfMatrixenvuelve elFS_MATRIXde PDFium con una API orientada a objetos paraTranslate,Scale,Rotate,HorizontalFlip,VerticalFlip,CentralFlip,SkewyMultiply.Multiplytoma una instantánea de los seis elementos de la matriz antes de calcular los nuevos valores de fila, evitando el problema de implementaciones alternativas en Pascal donde los elementos previos se sobrescriben durante la misma llamada y producen composiciones incorrectas.- Renderizado progresivo cancelable —
TPdf.RenderPageProgressiveejecuta el bucleFPDF_RenderPageBitmap_Start+RenderPage_Continuede PDFium y consulta unIPdfCancellationTokenentre iteraciones mediante el callbackIFSDK_PAUSE, de modo que los renderizados largos a alto DPI puedan abortar a la mitad de la página en lugar de bloquearse hasta su finalización. Devuelve unTPdfProgressiveStatusdeprsDone,prsCancelledoprsFailed.- Ruta de renderizado zero-copy —
RenderPage/RenderTile/RenderPageProgressiveescriben la salida de PDFium directamente en el búfer DIB delTBitmapde destino, en lugar de pasar por un búfer intermedio interno, ahorrando una copia en memoria de ancho × alto × 4 bytes por renderizado — más perceptible en alto DPI (paneles de miniaturas, exportación con calidad de impresión, exportación por lotes). Se preserva una ruta alternativa por línea de escaneo cuando el DIB de destino no puede envolverse de forma segura.- Transformaciones de bitmap para baja visión - InvertPdfBitmap, GrayscalePdfBitmap y DuotonePdfBitmap transforman in situ píxeles TBitmap de 32 bits para vistas invertidas, grises o bicolor de baja visión
- Visualización de baja visión en vivo —
TPdfView.OptionsadmitereInvertyreNightDuotone, conNightDuotoneInkyNightDuotonePapercontrolando la paleta nocturna en vivo antes de pintar superposiciones
Operaciones de dibujo
- Dibujo de trazados — cree trazados con líneas, curvas Bézier y formas cerradas
- Eliminación de objetos — elimine objetos de página y regenere el contenido de la página desde TPdf o TPdfView
- Relleno y trazo — configure el modo de relleno, los colores, la transparencia y las propiedades de trazo
- Modos de mezcla — soporte para varios modos de mezcla PDF
- Estilos de línea — configure el extremo de línea, la unión de línea y el ancho del trazo
Firmas digitales
- Detección de firmas — detecte y enumere firmas digitales en los documentos PDF
- Información de firmas — acceda al contenido de la firma, rango de bytes, sub-filtro, motivo y fecha
- Permisos MDP — consulte los permisos de detección y prevención de modificaciones del documento
Soporte para archivos adjuntos
- Acceso a archivos adjuntos — lea, cree, modifique y elimine archivos adjuntos incrustados
- Nombres de archivos adjuntos — acceda a los nombres de archivo de los adjuntos
- Tipos de archivos adjuntos — lea los valores de subtipo MIME del archivo incrustado cuando estén presentes
- Marcadores — navegue por los marcadores del documento con soporte jerárquico mediante el arreglo
Bookmarksy los helpers de recorridoBookmarkChildren,HasBookmarkChildrenyBookmarkFrom- Destinos con nombre — acceda a los destinos con nombre por índice o nombre a través de
Destination,DestinationByNameyDestinationCount- Etiquetas de página — obtenga las etiquetas de página para cada página mediante
PageLabel; útil cuando los documentos usan números romanos para las páginas preliminares- Enlaces web — detecte y navegue por los enlaces web en las páginas con
WebLink,WebLinkCountyTPdfView.WebLinkAtPos- Anotaciones de enlace — acceda a las anotaciones de enlace con información de acción y destino a través de
LinkAnnotation,LinkAnnotationCountyTPdfView.LinkAnnotationAtPos- Manejo seguro de clics en enlaces — TPdfView dispara los eventos
OnAnnotationLinkClick/OnWebLinkClickantes del manejo automático goto/URI, con las acciones de lanzamiento deshabilitadas por defecto. La detección de clics en enlaces se ejecuta únicamente cuando el gesto es un clic en lugar de un arrastre, usando un ancla MouseDown fresca para que los gestos de paneo sigan fluyendo a través de la ruta de desplazamiento existente sin cambios.
Renderizado
- Renderizado de alta calidad — renderice páginas a un contexto de dispositivo, bitmap o mosaico mediante
RenderPage/RenderTile, con escrituras directas zero-copy en el búfer DIB de destino- Renderizado progresivo cancelable —
RenderPageProgressiveejecuta el bucle progresivo de PDFium y consulta unIPdfCancellationTokenentre iteraciones, devolviendoprsDone,prsCancelledoprsFailed. El bitmap conserva el trabajo parcial realizado hasta el momento si se cancela.- Opciones de renderizado — optimización de texto LCD (
reLcd), anotaciones (reAnnotations), escala de grises y banderas de modo de impresión- Hooks de Skia — los bindings de bajo nivel
FPDF_RenderPageSkiayFPDF_FFLDrawSkiaestán disponibles cuando los llamadores proporcionan un SkCanvas externo (depende de los exports de la DLL incluida)- Selección de modo de impresión — establezca los modos de impresión PDFium EMF, solo texto, PostScript, pass-through, image-mask y Type 42 mediante
SetPdfPrintModeconTPdfPrintMode- Superposición asíncrona — TPdfView puede mostrar una superposición de carga opcional mientras los workers propiedad de la aplicación renderizan con instancias TPdf separadas
- Rotación de páginas — soporte para rotación de 0, 90, 180 y 270 grados (
ro0,ro90,ro180,ro270)- Detección de transparencia — la propiedad
Transparentinforma si algún objeto de la página actual tiene transparencia, incluidos los modos de mezcla y el alfa parcial
Visualización (TPdfView)
- Modos de visualización —
dmSingleContinuous,dmTwoPageContinuousydmTwoPageContinuousWithCover(la página de portada queda sola y luego continúa con vistas de dos páginas). El helper a nivel de unidadComputeSpreadPagesexpone los cálculos de páginas en vista doble sin instanciar un visor.- Modo de ajuste —
FitModeelige cómo se posiciona la página en el viewport:pfmNone(zoom manual),pfmActualSize(100 %),pfmFitPage(la página completa cabe en el viewport) ypfmFitWidth(el ancho de la página coincide con el ancho del viewport). El modo de ajuste activo se reaplica automáticamente al redimensionar y cuando cambia la página actual; establecer Zoom directamente cancela el modo de ajuste activo (FitMode revierte apfmNone), siguiendo la convención de los visores PDF estándar.- Control de zoom — zoom variable con los helpers por página
PageZoom,PageWidthZoom,PageHeightZoomyActualSizeZoom- Color de página —
PageColordesacopla el fondo de la página PDF renderizada delColordel control circundante. El valor predeterminado esclWhite, de modo que las páginas PDF ahora se renderizan blancas como papel sin importar el tema de la aplicación anfitriona. Los visores en modo oscuro pueden mantener el área de desplazamiento oscura mientras dejan la página PDF real blanca (o en cualquier color que la aplicación elija).- Selección interactiva de texto — selección de texto por arrastre del usuario final sobre las páginas PDF, con detección automática que cambia entre selección y paneo: al hacer clic sobre un carácter se inicia un arrastre de selección, al hacer clic sobre un espacio en blanco se panea. El doble clic selecciona la palabra, el triple clic selecciona la línea,
Ctrl+Aselecciona la página (ambas páginas en modo de vista doble),Ctrl+Ccopia comoCF_UNICODETEXT,Shift+flechasextienden la selección, pasar el puntero sobre el texto cambia el cursor acrIBeam, y arrastrar hacia un borde del visor desplaza automáticamente la página. Nuevos publicados:SelectionColoryOnSelectionChange; nuevos públicos:HasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. Los modos de visualización en vista doble seleccionan a través de ambas páginas visibles uniéndose con CR/LF. Se adjunta automáticamente un menú contextual predeterminado de Copiar con clic derecho cuando el host no ha asignado su propioPopupMenu. Controlado por la banderaAllowUserTextSelectionde v1.17.0 para hosts tipo kiosco.- Mapeo de coordenadas — convierta entre las coordenadas de dispositivo del visor y las coordenadas de página PDF con
DeviceToPage/PageToDevice, incluidos los overloads que reciben unTRecty devuelven unTPdfRectangle- Selección de texto y prueba de impacto — resuelva los caracteres bajo los puntos del visor con
CharacterIndexAtPosy pinte los resaltados de selección de texto mediantePaintSelection- Mouse y teclado — soporte completo de dispositivos de entrada con desplazamiento por arrastre del mouse, atajos PgUp / PgDn / Ctrl+Inicio / Ctrl+End, y navegación por página con rueda hacia arriba/abajo. Ctrl+rueda está reservado para el zoom de la aplicación y es omitido por el manejador de navegación.
- Restricción de entrada del usuario —
AllowUserPageChangecontrola los atajos de teclado de página,ChangePageOnMouseScrollingcontrola los saltos de página con la rueda, yAllowUserTextSelectioncontrola la entrada de selección de texto por mouse/teclado. Las tres tienen True como valor predeterminado; cámbielas a False para bloquear kioscos, paneles de vista previa o integraciones de solo lectura sin necesidad de subclasear.- Superposición de renderizado asíncrono —
AsyncRendering,LoadingTextyLoadingColordibujan un pequeño indicador "Cargando…" sobre la página renderizada, de modo que las aplicaciones que usan su propio worker para renderizados largos compartan una indicación visual coherente. Los valores predeterminados preservan el comportamiento existente.TPdfahora serializa las llamadas de renderizado y descarga de página por instancia; las aplicaciones siguen siendo responsables del despacho de workers y deben evitar mutar un documento mientras un renderizado está en curso.- Manejo seguro de clics en enlaces —
LinkOptionses un conjunto publicado que controla el comportamiento automático para los cuatro tipos de acciones de enlace PDF:loAutoGoto(salto de página),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) yloAutoEmbeddedGoto(reservado). Los valores predeterminados habilitan únicamenteloAutoGotoyloAutoOpenURI;loAutoLaunchyloAutoEmbeddedGotopermanecen apagados para que un clic accidental no pueda ejecutar un programa arbitrario.OnAnnotationLinkClickyOnWebLinkClickse disparan antes de cualquier acción automática y permiten que la aplicación marque el evento como Handled o lo redirija.- Interacción con formularios — edición interactiva de formularios dentro del visor, además de los helpers de selección / Deshacer / Rehacer de v1.23.0
- Estilo visual —
PageShadowSize,PageShadowColoryPageBorderColorpintan una sombra paralela opcional debajo del rectángulo de la página y un borde de un píxel a su alrededor;SmoothScrollahora anima los comandos de desplazamiento de línea/página en segmentos manejados por temporizador, mientras que el seguimiento del pulgar permanece inmediato- Navegación por miniaturas —
TPdfThumbnailView(unidadFPdfThumbnail) renderiza una miniatura de página por fila en un panel lateral desplazable con resaltado al pasar el puntero y al seleccionar, además de navegación con clic. Diseñado para colocarse junto a un TPdfView. Propiedades:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; evento:OnPageClick.
Compresión
- Compresión automática — cuando la propiedad
Compressedes True (valor predeterminado), se garantiza que todos los streams PDF estén comprimidos con FlateDecode al guardar- Postprocesamiento — el motor de compresión escanea los datos PDF guardados y comprime cualquier stream sin comprimir usando zlib con compresión máxima
- Reconstrucción de referencias cruzadas — reconstruye automáticamente la tabla xref cuando la compresión de streams cambia los desplazamientos de bytes
- Sin sobrecarga — si todos los streams ya están comprimidos, los datos pasan sin modificación
Seguridad
- Soporte para contraseñas — abra documentos PDF protegidos con contraseña
- Permisos — lea los permisos del documento y del usuario; el demo
SecurityAuditcombina permisos, archivos adjuntos, JavaScript del documento, enlaces URI / Launch, firmas, XFA y disponibilidad de V8 en una superficie de riesgo de solo lectura con acciones para guardar reportes TXT / JSON y copiar como TXT- Eliminación de seguridad — guarde documentos con la seguridad eliminada (cuando esté autorizado)
Impresión
- Modos de impresión — elija entre los modos de impresión EMF, solo texto, PostScript Level 2 / 3, PostScript pass-through, EMF image-mask y Type 42 mediante la función global
SetPdfPrintMode- Preferencias del visor — exponga la intención del autor del documento a través de
PrintCopies,PrintPageRanges(rangos de páginas base uno),PrintScalingyPrintPaperHandling;SetPdfPrintPaperHandlingDevModemapea la sugerencia de impresión a doble cara enDEVMODE.dmDuplexde Windows- Impresión N-up — los demos
PrintPreferencesen Delphi, C++Builder y Lazarus muestran la composición N-up por hoja (1 / 2 / 4 / 9 páginas por hoja) con filtrado de páginas pares/impares, renderizado en escala de grises, bordes de celda opcionales de 1 píxel, preferencias de impresión del autor PDF y mapeo de intención dúplex medianteSetPdfPrintPaperHandlingDevMode
Demos incluidos
Los árboles
Demo\Delphi,Demo\CBuilderyDemo\Lazarusincluyen proyectos de muestra ejecutables que ejercitan la superficie de API en vivo en las tres familias de IDE. Destacados:
- PDFViewer / MultiPageViewer / SplitView — uso integral de TPdfView: cargar, navegar, hacer zoom, rotar, vista de dos páginas, diseños conscientes de portada, y comparación lado a lado de PDF en Delphi / C++Builder / Lazarus con comandos sincronizados; los demos de visor también son pruebas de velocidad prácticas para PDF de varios gigabytes, donde documentos de 2,x GB pueden alcanzar una primera vista utilizable casi de inmediato mientras el renderizado de páginas se mantiene responsivo
- ViewerInteractionLab — muestras enfocadas de interacción con TPdfView en Delphi, C++Builder y Lazarus para modos de visualización, modos de ajuste, colores de página, rotación, resaltado de búsqueda, selección de texto, vista previa del texto seleccionado, acciones de portapapeles y retroalimentación de coordenadas DeviceToPage
- SearchAndSelect — muestras de flujo de trabajo enfocadas en Delphi, Lazarus y C++Builder para listado de resultados de búsqueda en todas las páginas, navegación a coincidencia anterior/siguiente, salto a un resultado con doble clic,
HighlightSearchText, búsqueda con coincidencia de mayúsculas/palabra completa,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectiony modos de visualización en vista doble- PreflightReport — demos de flujo de trabajo en Delphi, Lazarus y C++Builder más un compañero de consola en Delphi alrededor del
FPdfPreflightReportreutilizable, que recopila resultados de validación PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R y PDF/VT en filas de estado, prioridad, categoría de problemas, conteos de categoría, resumen de próxima acción, recomendaciones de problemas, vista previa de texto / Markdown / JSON / CSV, reportes TXT / HTML / Markdown / JSON / CSV, generación de reportes scriptable, procesamiento de listas y directorios por lotes con enrutamiento de directorio de reportes, resúmenes agregados TXT / JSON / HTML, manifiestos de fila CSV, incrustación opcional de adjuntos de reporte y códigos de salida para gating en CI- ContentExtractionLab — flujo de trabajo unificado de inventario de contenido en Delphi, Lazarus y C++Builder para metadatos del documento, texto de página, objetos de página, imágenes, archivos adjuntos, enlaces, anotaciones, marcadores y métricas de fuente/carácter con exportación TXT / JSON, selección de categoría todos/ninguno, guardado del PDF de origen y acciones de copia de reporte
- WatermarkStamp — flujo de trabajo reutilizable de Form XObject en Delphi, Lazarus y C++Builder para marcas de agua centradas, sellos en las esquinas y etiquetas de número de página en un PDF de destino de varias páginas
- CreatePDF — construya un PDF de varias páginas desde cero con texto, imágenes, trazados, tablas y composición de marca de agua; incluye una opción de «Texto Europeo» para escribir texto acentuado en checo / francés / alemán / español / portugués / polaco / turco y así verificar la selección de fuentes y el manejo de Unicode
- ExtractText / ExtractImages / ContentExtractionLab — guarde el texto extraído (incluyendo salida separada por página) o las imágenes incrustadas en disco, o genere un reporte de inventario de contenido multicategoría en una sola pasada
- FormFill — lea los metadatos de campos AcroForm, escriba valores, regenere las apariencias /AP y guarde el resultado editable o el aplanado
- FontPropiedades — inspeccione los metadatos indexados de carácter/fuente tanto a través de TPdf como de TPdfView en Delphi, C++Builder y Lazarus
- MergePDF / SplitPDF — combine múltiples PDFs de origen (con selección de rango de páginas por archivo, ruta de salida opcional, registro de ejecución, botón de cancelar y resumen de finalización de la combinación) o divida un PDF en archivos de salida por página
- PDFtoJpg / BatchExport — conversión one-shot o por lotes de varios archivos PDF a JPG en Delphi, C++Builder y Lazarus con progreso general por archivo, progreso actual por página, entradas de DPI / calidad / contraseña y un lote cancelable de manera cooperativa respaldado por
IPdfCancellationToken- StandardsLab — muestras de flujo de trabajo en Delphi, C++Builder y Lazarus para validación PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R y PDF/VT, reporte de problemas y salidas de guardado orientadas a estándares
- PrintPDF / PrintPreferences — impresión estándar de PDF en Delphi, C++Builder y Lazarus con vista previa, rangos de páginas, copias, colación, progreso y cancelación (PrintPDF), más composición N-up por hoja en Delphi, C++Builder y Lazarus con filtrado par/impar y preferencias de impresión del autor PDF (PrintPreferences)
- SecurityAudit — muestras de superficie de riesgo de solo lectura en Delphi, C++Builder y Lazarus para permisos, archivos adjuntos, acciones JavaScript, enlaces URI / Launch, enlaces web, resúmenes de firma, estado XFA, disponibilidad de helpers V8 / XFA y reportes de auditoría TXT / JSON
- Attachment — cree PDFs, agregue / liste / extraiga / elimine / guarde archivos adjuntos incrustados con visualización del subtipo MIME
- ImageToPDF — conversión por lotes de imágenes en Delphi, C++Builder y Lazarus a un único PDF, una imagen por página, con vista previa y progreso por imagen
Las suites de regresión de Delphi, C++Builder y Lazarus cubren 147 (Pas) / 123 (C++) casos compartiendo los mismos PDF de prueba, de modo que el comportamiento permanece alineado byte a byte entre las tres familias de IDE.
Soporte de plataformas
- Delphi — Delphi XE5 (RAD Studio XE5) hasta Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder — C++Builder XE5 (RAD Studio XE5) hasta C++Builder 13.1 Florence
- Lazarus — soporte para Free Pascal / Lazarus
- Win32 / Win64 — plataformas Windows tanto de 32 como de 64 bits