Componentes principales
- TPdf — componente principal de manejo de documentos PDF para abrir, navegar, extraer texto y editar documentos PDF
- TPdfView — componente visual para mostrar páginas PDF e interactuar con ellas
- TPdfThumbnailView — panel lateral desplazable de miniaturas para la navegación por páginas
Operaciones con documentos
- Carga de documentos — carga ficheros PDF desde disco, streams en memoria, arrays 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 base de datos no necesitan una copia previa íntegra en memoria.- Protección con contraseña — abre documentos PDF protegidos con contraseña e informa de los
UserPermissionsefectivos para la sesión autenticada- Creación de documentos — construye nuevos documentos PDF desde cero con
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageyCreatePath- Guardado de documentos — guarda documentos modificados con diversas opciones (incremental, eliminar seguridad) y versiones PDF de destino 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 manera que el resultado sea conforme a PDF/A-1b. Los perfiles ICC personalizados se admiten medianteTPdfASaveOptions.IccProfileData.- Validación PDF/A —
ValidatePdfAy la propiedad de solo lecturaPdfAConformanceexploran un documento abierto en busca de marcadores XMPpdfaid, OutputIntent con ICC embebido, presencia de cifrado, e informan del nivel de conformidad (pac1a,pac1b,pac2b,pac3b,pacNoneopacUnknown) junto con una lista de entradasTPdfAValidationIssueque describen cada problema encontrado- Validador de cumplimiento 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 del PDF se compriman de forma óptima al guardar; establezca
Compressed := Falsepara deshabilitarla en canalizaciones de depuración- Fusión de documentos — importa páginas desde otros documentos PDF
- Importación de subconjunto de páginas —
ImportPagesByIndexcopia un array de índices explícitos basado en cero desde un documento de origen, con InsertAt = 0 para insertar antes de la página 1 o InsertAt = PageCount para añadir al final. Pase un array de índices vacío para importar todas las páginas del origen.- Composición N-up —
ImportNPagesToOnedevuelve unTPdftotalmente nuevo cuyas páginas son composiciones NumX×NumY de las páginas del documento origen, dimensionadas en unidades de usuario PDF (1 unidad = 1/72 pulgada)- Reordenación de páginas —
MovePagesreordena las páginas in situ utilizando un array de índices basado en 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 plantilla y flujos de tipo "estampar una página sobre muchas". El objeto de página de destino puede posicionarse, escalarse y rotarse medianteFPDFPageObj_SetMatrixy los helpersTPdfMatrix.- Gestión de páginas — añada, elimine y manipule páginas individuales;
AddPage(0, ...)inserta la primera 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 de fichero del trailer — lea las entradas /ID permanente y cambiante del trailer como bytes binarios
- Acciones JavaScript a nivel de documento — enumere los nombres de acción y los scripts del árbol de nombres JavaScript a nivel de documento
- Árbol de estructura de PDF etiquetado — inspeccione los elementos de estructura lógica, el texto de accesibilidad, el idioma, los IDs de contenido marcado y la jerarquía de las páginas de PDF etiquetado
- Preferencias del visor — lea
PrintCopies,PrintPageRanges,PrintScalingyPrintPaperHandlingdel diccionario de preferencias del visor del documento; los PDF guardados utilizan por defecto una acción de apertura "Ajustar a alto" en la primera página
Operaciones de texto
- Extracción de texto — extrae texto de páginas PDF con precisión a nivel de carácter mediante las propiedades
Text,TextInRectangle, indexadasCharacter,CharacterRectangleyCharacterOrigin- Unidades de lectura por frases - TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits y BuildReadingUnits exponen registros TPdfReadingUnit de tamaño frase para escucha TTS sincronizada
- Orquestación de sesión de lectura en voz alta -
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageCharyEstimateSpokenWordIndexcoordinan los motores TTS del host, los fragmentos hablados, las devoluciones de llamada de posición de palabra, la cadencia estimada, la pausa y la reanudación, y las actualizaciones del cursor de palabra de TPdfView- Resaltado de lectura 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 por palabra actual en TPdfView; Controla el color de superposición usado para el cursor de lectura por palabra actual; Controla si TPdfView desplaza la palabra hablada actual a la vista mientras sigue la lectura- Búsqueda de texto — encuentra texto con opciones de búsqueda con distinción de mayúsculas, palabra completa y consecutivas mediante
FindFirst,FindNext,FindPrevious- Superposición de resaltado de búsqueda —
TPdfView.HighlightSearchTextexplora la página de vista actual y pinta una superposición real con mezcla alfa deHighlightColorsobre cada coincidencia en cada redibujado, devolviendo el número de coincidencias.ClearHighlightelimina la superposición; al navegar a otra página, esta se borra automáticamente porque las coincidencias son específicas de cada página.HighlightColortiene el valor por defectoclYellowy está publicada para que las aplicaciones puedan aplicar su tema.- Propiedades de los caracteres — acceda al tamaño de fuente, peso, ángulo y posicionamiento de cada carácter mediante las propiedades indexadas
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHyphenyCharacterMapError- Soporte de caracteres europeos —
AddTextcarga automáticamente y guarda en caché la fuente TrueType del sistema correspondiente antes de crear un objeto de texto, de modo que los caracteres con tildes y diacríticos checos, franceses, alemanes, españoles, portugueses, polacos y turcos que las fuentes estándar incluidas en PDFium no pueden representar ahora se renderizan correctamente sin ningún cambio de código- Adición de texto — añada texto nuevo a 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 — recupere propiedades de fuente, incluido el nombre de familia, el estado de incrustación, el ángulo de cursiva, el ascendente / descendente y los datos de fuente en bruto, por cada objeto de página
Soporte de anotaciones
- Tipos de anotación — soporte para texto, enlace, resaltado, subrayado, tachado y muchos otros tipos de anotación
- Creación de anotaciones — cree nuevas anotaciones de forma programática
- Edición de anotaciones — modifique las propiedades de anotaciones existentes, incluidos color, transparencia y contenido
- Anotaciones de enlace — gestione enlaces internos y externos con soporte de acciones
Soporte de formularios
- Accesores para rellenado 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 rellenado de formularios con teclado o voz
- Tipos de formulario — soporte para formularios AcroForm y XFA
- Rellenado de formularios — rellenado interactivo de formularios con soporte de JavaScript
- Selección de DLL V8 — establezca
EnableV8Engineantes de la carga para utilizarpdfium.v8.dllde la carpetaDLLs\Win32oDLLs\Win64correspondiente, y consulte la disponibilidad de helpers V8/XFA medianteV8FeaturesAvailable,XfaBStrHelpersAvailableyGetRecommendedV8Flags- Acceso a campos — lea y escriba los valores de los campos de formulario por índice o por posición
- Información de campos — acceda al tipo, indicadores, nombre y otras propiedades de los campos
- Indicadores de campo — actualice los indicadores de los campos AcroForm por índice o por posición mediante
SetFormFieldFlags/SetFormFieldFlagsAt, incluidos los indicadores de solo lectura, obligatorio, contraseña y selección múltiple- Aplanado de formularios —
GenerateFormAppearancesregenera el stream de apariencia /AP para cada widget de formulario en cada página, yFlattenPage/FlattenAllPagesincorporan las anotaciones y los campos de formulario al contenido estático de la página (no editable)- Selección de texto del widget de formulario y deshacer / rehacer — en el widget AcroForm con foco, el visor expone
GetSelectedFormText(texto actualmente seleccionado),SelectAllFormText(seleccionar todos los caracteres) yFormUndo/FormRedo/FormCanUndo/FormCanRedo(controlan el historial de edición por widget de PDFium). Los seis cortocircuitan de forma segura cuando el visor está inactivo o ningún widget tiene el foco.
Operaciones de imagen
- Extracción de imágenes — extrae bitmaps de páginas PDF con la propiedad indexada
Bitmap; itere sobreBitmapCountpara guardar cada imagen en disco- Inserción JPEG —
AddJpegImagetoma un TStream de bytes JPEG en bruto e incrusta la imagen como un XObject /DCTDecode sin recodificarla- 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 en las unidades gráficas VCL o LCL (BMP, PNG mediante PngImage, JPG, ...) y comparte la canalización con AddPicture.AddImage(TBitmap)omite el intermediario TPicture, lo que simplifica los llamadores que ya disponen de un TBitmap procedente de renderizado o de un trabajo de generación por lotes.- Perfil ICC de imagen — los objetos de imagen de página exponen sus datos de perfil ICC incrustado cuando están presentes (binding para
FPDFImageObj_GetIccProfileDataDecoded)- Generación de miniaturas — genera bitmaps de miniatura de página mediante la propiedad
Thumbnailo renderiza cualquier página basada en uno medianteTPdf.RenderPageThumbnailsin cambiarPageNumber- Visualización en vivo para baja visión —
TPdfView.OptionsadmitereInvertyreNightDuotone, conNightDuotoneInkyNightDuotonePapercontrolando la paleta nocturna en vivo antes de pintar las superposiciones
Unidades de utilidad
- Infraestructura asíncrona —
FPdfAsyncexponeIPdfCancellationToken/IPdfCancellationTokenSourcepara semánticas de cancelación cooperativa desde la interfaz de usuario, un singleton reutilizablePdfNoCancellationTokeny un helper ligeroTPdfFuture<T>que ejecuta un trabajador en un hilo en segundo plano y devuelve un sobreTPdfFutureResult<T>al hilo principal, distinguiendo los casos de éxito, cancelación y fallo- Adaptador de stream —
TPdfStreamAdapterconecta unTStreamPascal con los callbacksFPDF_FILEACCESSde PDFium, de modo queLoadCustomDocumentlea bloques bajo demanda en lugar de bufferizar todo el PDF en memoria- Composición de matrices —
FPdfMatrixenvuelveFS_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 una implementación alternativa en Pascal en la que los elementos anteriores se sobrescriben durante la misma llamada y producen composiciones incorrectas.- Renderizado progresivo cancelable —
TPdf.RenderPageProgressivecontrola el bucleFPDF_RenderPageBitmap_Start+RenderPage_Continuede PDFium y consulta unIPdfCancellationTokenentre iteraciones a través del callbackIFSDK_PAUSE, de modo que los renderizados largos a alta DPI pueden cancelarse a mitad de 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 interno, ahorrando una copia de memoria de anchura × altura × 4 bytes por renderizado — más perceptible a alta DPI (paneles de miniaturas, exportación con calidad de impresión, exportación por lotes). Se conserva una ruta alternativa por línea de escaneo cuando no se puede envolver el DIB de destino 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
Operaciones de dibujo
- Dibujo de trayectorias — cree trayectorias 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 diversos modos de mezcla PDF
- Estilos de línea — configure el estilo de extremo de línea, la unión de líneas y el grosor de trazo
Firmas digitales
- Detección de firmas — detecta y enumera firmas digitales en documentos PDF
- Información de firma — accede a los contenidos de la firma, al rango de bytes, al subfiltro, al motivo y a la fecha
- Permisos MDP — consulta los permisos de detección y prevención de modificaciones del documento
Soporte de archivos adjuntos
- Acceso a archivos adjuntos — lea, cree, modifique y elimine ficheros adjuntos incrustados
- Nombres de archivos adjuntos — acceda a los nombres de fichero de los archivos adjuntos
- Tipos de archivos adjuntos — lea los valores de subtipo MIME del fichero incrustado cuando están presentes
- Marcadores — navegue por los marcadores del documento con soporte jerárquico mediante el array
Bookmarks,BookmarkChildren,HasBookmarkChildreny los helpers de recorridoBookmarkFrom- Destinos con nombre — acceda a los destinos con nombre por índice o por nombre mediante
Destination,DestinationByNameyDestinationCount- Etiquetas de página — recupere las etiquetas de página de cada página mediante
PageLabel; útil cuando los documentos utilizan numerales romanos para las primeras páginas- Enlaces web — detecte y navegue por 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 mediante
LinkAnnotation,LinkAnnotationCountyTPdfView.LinkAnnotationAtPos- Manejo seguro de clics en enlaces — TPdfView dispara los eventos
OnAnnotationLinkClick/OnWebLinkClickantes del manejo automático de goto / URI, con las acciones de lanzamiento deshabilitadas por defecto. La detección de clic en enlace se ejecuta solo cuando el gesto es un clic en lugar de un arrastre, utilizando un ancla MouseDown nueva para que los gestos de paneo sigan fluyendo a través de la ruta de scroll existente sin cambios.
Renderizado
- Renderizado de alta calidad — renderiza páginas a contexto de dispositivo, bitmap o tile mediante
RenderPage/RenderTile, con escrituras directas zero-copy en el búfer DIB de destino- Renderizado progresivo cancelable —
RenderPageProgressivecontrola el bucle progresivo de PDFium y consulta unIPdfCancellationTokenentre iteraciones, devolviendoprsDone,prsCancelledoprsFailed. El bitmap conserva el trabajo parcial realizado hasta ese momento cuando se cancela.- Opciones de renderizado — optimización de texto LCD (
reLcd), anotaciones (reAnnotations), escala de grises e indicadores 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 las exportaciones 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 opcional de carga mientras los trabajadores propiedad de la aplicación renderizan con instancias TPdf independientes
- Rotación de página — 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 dobles páginas). El helper a nivel de unidadComputeSpreadPagesexpone los cálculos de páginas dobles sin instanciar un visor.- Modo de ajuste —
FitModeelige cómo se ajusta la página en el viewport:pfmNone(zoom manual),pfmActualSize(100%),pfmFitPage(toda la página cabe en el viewport) ypfmFitWidth(el ancho de la página coincide con el 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 vuelve apfmNone), igual que la convención estándar de los visores PDF.- 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. Su valor por defecto esclWhite, de modo que las páginas PDF se renderizan ahora como papel blanco independientemente del tema de la aplicación anfitriona. Los visores en modo oscuro pueden mantener el área de desplazamiento oscura mientras la página PDF real permanece blanca (o de cualquier color que elija la aplicación).- Selección interactiva de texto — selección de texto del usuario final por arrastre en páginas PDF, con conmutación automática por hit-test entre selección y paneo: hacer clic sobre un carácter inicia un arrastre de selección, hacer clic sobre un espacio en blanco hace paneo. Doble clic selecciona la palabra, triple clic selecciona la línea,
Ctrl+Aselecciona la página (ambas páginas en modo de doble página),Ctrl+Ccopia comoCF_UNICODETEXT,Mayús+flechasextiende la selección, al pasar el cursor sobre texto este cambia acrIBeamy al arrastrar hacia un borde del visor la página se desplaza automáticamente. Se publicanSelectionColoryOnSelectionChange; nuevas propiedades públicasHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. Los modos de visualización de doble página seleccionan en ambas páginas visibles con CR/LF como unión. Se adjunta automáticamente un menú emergente de copia con el botón derecho por defecto cuando el anfitrión no ha asignado su propioPopupMenu. Se controla con el indicadorAllowUserTextSelectionde la v1.17.0 para anfitriones de quiosco.- Mapeo de coordenadas — convierta entre coordenadas de dispositivo del visor y coordenadas de página PDF con
DeviceToPage/PageToDevice, incluidas las sobrecargas que toman unTRecty devuelven unTPdfRectangle- Selección de texto y hit testing — resuelva los caracteres situados bajo los puntos del visor con
CharacterIndexAtPosy pinte resaltados de selección de texto mediantePaintSelection- Ratón y teclado — soporte completo de dispositivos de entrada con desplazamiento mediante arrastre del ratón, atajos PgUp / PgDn / Ctrl+Inicio / Ctrl+Fin y navegación por páginas con rueda hacia arriba / rueda hacia abajo. Ctrl+rueda está reservado para el zoom de la aplicación y lo omite el manejador de navegación.
- Bloqueo de entrada del usuario —
AllowUserPageChangecontrola los atajos de teclado para cambio de página,ChangePageOnMouseScrollingcontrola los saltos de página con la rueda yAllowUserTextSelectioncontrola la entrada de selección de texto con ratón / teclado. Los tres tienen True como valor por defecto; cámbielos a False para bloquear quioscos, paneles de previsualización o empotraciones de solo lectura sin necesidad de subclasear.- Superposición de renderizado asíncrono —
AsyncRendering,LoadingTextyLoadingColordibujan un pequeño indicador "Loading..." sobre la página renderizada, de modo que las aplicaciones que utilizan su propio trabajador para renderizados largos comparten una indicación visual coherente. Los valores por defecto preservan el comportamiento existente.TPdfahora serializa las llamadas de renderizado y de descarga de página por instancia; las aplicaciones siguen siendo responsables del despacho de trabajadores y deben evitar mutar un documento mientras hay un renderizado en curso.- Manejo seguro de clics en enlaces —
LinkOptionses un conjunto publicado que controla el comportamiento automático para los cuatro tipos de acción de enlace PDF:loAutoGoto(salto de página),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) yloAutoEmbeddedGoto(reservado). Los valores por defecto habilitan únicamenteloAutoGotoyloAutoOpenURI;loAutoLaunchyloAutoEmbeddedGotopermanecen desactivados para que un clic accidental no pueda ejecutar un programa arbitrario.OnAnnotationLinkClickyOnWebLinkClickse disparan antes de cualquier acción automática y permiten a la aplicación marcar el evento como manejado o redirigirlo.- Interacción con formularios — edición interactiva de formularios dentro del visor, además de los helpers de selección / deshacer / rehacer de la v1.23.0
- Estilizado visual —
PageShadowSize,PageShadowColoryPageBorderColorpintan una sombra paralela opcional bajo el rectángulo de la página y un borde de un píxel a su alrededor;SmoothScrollahora anima los comandos de scroll por línea o por página en segmentos controlados 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 por hover y selección, además de navegación por clic. Diseñado para situarse 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 por defecto), se garantiza que todos los streams del PDF estén comprimidos con FlateDecode al guardar- Postprocesado — el motor de compresión explora los datos PDF guardados y comprime cualquier stream sin comprimir utilizando compresión máxima de zlib
- Reconstrucción de la referencia cruzada — 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 a través sin modificación
Seguridad
- Soporte de contraseña — abra documentos PDF protegidos con contraseña
- Permisos — lea los permisos de documento y de usuario; el demo
SecurityAuditcombina permisos, archivos adjuntos, JavaScript de documento, enlaces URI / Launch, firmas, XFA y disponibilidad de V8 en una superficie de riesgo de solo lectura con acciones de guardar informe TXT / JSON y copiar 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 Nivel 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 mediante
PrintCopies,PrintPageRanges(rangos de páginas basados en uno),PrintScalingyPrintPaperHandling;SetPdfPrintPaperHandlingDevModemapea la sugerencia de dúplex en elDEVMODE.dmDuplexde Windows- Impresión N-up — los demos de Delphi, C++Builder y Lazarus
PrintPreferencesmuestran la composición de hojas N-up (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 del PDF y mapeo de intención de dúplex medianteSetPdfPrintPaperHandlingDevMode
Demos incluidos
Los árboles
Demo\Delphi,Demo\CBuilderyDemo\Lazarusincluyen proyectos de ejemplo ejecutables que ejercitan la superficie de API real en las tres familias de IDE. Aspectos destacados:
- PDFViewer / MultiPageViewer / SplitView — uso integral de TPdfView: carga, navegación, zoom, rotación, doble página, diseños con portada y comparación de PDF lado a lado en Delphi / C++Builder / Lazarus con comandos sincronizados; los demos de visor también son pruebas de velocidad prácticas con PDF de varios gigabytes, en los que documentos de 2.x GB pueden alcanzar una primera vista usable casi instantáneamente mientras el renderizado de páginas se mantiene reactivo
- ViewerInteractionLab — muestras enfocadas en Delphi, C++Builder y Lazarus de la interacción de TPdfView para modos de visualización, modos de ajuste, colores de página, rotación, resaltado de búsqueda, selección de texto, previsualización de texto seleccionado, acciones de portapapeles y feedback de coordenadas DeviceToPage
- SearchAndSelect — muestras de flujo enfocadas en Delphi, Lazarus y C++Builder para listado de resultados de búsqueda en todas las páginas, navegación al resultado anterior / siguiente, salto a resultado mediante doble clic,
HighlightSearchText, búsqueda con distinción de mayúsculas / palabra completa,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectiony modos de visualización de doble página- PreflightReport — demos de flujo en Delphi, Lazarus y C++Builder más un complemento de consola Delphi sobre el reutilizable
FPdfPreflightReport, que recopila los resultados de validación PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R y PDF/VT en estado, prioridad, categoría de problema, recuentos por categoría, filas de resumen de siguiente acción, recomendaciones por problema, previsualización en texto / Markdown / JSON / CSV, informes TXT / HTML / Markdown / JSON / CSV, generación de informes mediante scripts, procesamiento por lotes a partir de lista o directorio con enrutamiento al directorio de informes, resúmenes agregados TXT / JSON / HTML, manifiestos de filas CSV, incrustación opcional de adjuntos con el informe y códigos de salida para gatings de CI- ContentExtractionLab — flujo unificado de inventario de contenido en Delphi, Lazarus y C++Builder para metadatos de 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ías todas / ninguna, guardado del PDF de origen y acciones de copia de informe
- WatermarkStamp — flujo reutilizable Form XObject en Delphi, Lazarus y C++Builder para marcas de agua centradas, sellos en esquina y etiquetas de número de página sobre un PDF de destino de varias páginas
- CreatePDF — construya un PDF de varias páginas desde cero con texto, imágenes, trayectorias, tablas y composición de marcas de agua; incluye una opción de «Texto Europeo» para escribir texto acentuado checo / francés / alemán / español / portugués / polaco / turco y verificar la selección de fuentes y el tratamiento Unicode
- ExtractText / ExtractImages / ContentExtractionLab — guarde el texto extraído (incluida la salida separada por página) o las imágenes incrustadas en disco, o genere un informe de inventario de contenido multicategoría en una sola pasada
- FormFill — lea los metadatos de los campos AcroForm, escriba valores, regenere las apariencias /AP y guarde el resultado tanto en versión editable como aplanada
- FontProperties — 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 varios PDF origen (con selección de rango de páginas por archivo, ruta de salida opcional, registro de ejecución, botón de cancelación y resumen de finalización de la combinación) o divida un PDF en ficheros de salida por página
- PDFtoJpg / BatchExport — conversión PDF a JPG única o por lotes en varios ficheros para Delphi, C++Builder y Lazarus, con progreso global por fichero, progreso actual por página, entradas de DPI / calidad / contraseña y un lote cancelable de forma cooperativa respaldado por
IPdfCancellationToken- StandardsLab — muestras de flujo en Delphi, C++Builder y Lazarus para validación, informe de incidencias y salidas de guardado orientadas a estándares PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R y PDF/VT
- PrintPDF / PrintPreferences — impresión estándar de PDF en Delphi, C++Builder y Lazarus con previsualización, rangos de páginas, copias, intercalado, progreso y cancelación (PrintPDF), además de composición de hojas N-up en Delphi, C++Builder y Lazarus con filtrado par / impar y preferencias de impresión del autor del 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, firmas, estado XFA, disponibilidad de helpers V8 / XFA, e informes de auditoría TXT / JSON
- Attachment — cree PDF, añada / liste / extraiga / elimine / guarde archivos adjuntos incrustados con visualización del subtipo MIME
- ImageToPDF — conversión por lotes de imágenes en un solo PDF, una imagen por página, en Delphi, C++Builder y Lazarus, con previsualización 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 fixture para que el comportamiento se mantenga alineado byte a byte en las tres familias de IDE.
Soporte de plataforma
- 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 de Free Pascal / Lazarus
- Win32 / Win64 — plataformas Windows de 32 y 64 bits