En primer lugar, FastReport VCL es un generador de informes. Según esta conclusión, podemos suponer que la vista previa o la incorporación de documentos de otros formatos en un informe es excesiva. Pero según las solicitudes de nuestros clientes, podemos ver el punto de vista opuesto. Muchos de nuestros clientes están resolviendo tareas con la integración de sistemas nuevos y antiguos. Un sistema tan antiguo puede contener documentos ya preparados que deben conectarse a los informes de noticias. En otras palabras, incrustar y ver documentos de formatos de terceros en un informe y añadir nuevas páginas o campos.
Para tales tareas en FastReport VCL 2021.3, hemos añadido el nuevo objeto de informe: TfrxPDFView. Este objeto utiliza la biblioteca de código abierto Pdfium y está diseñado para ver documentos PDF en un informe. Puede crear esta biblioteca a partir del código fuente o usar una lista para usar del paquete de instalación de FastReport VCL (frx_pdfium.dll y frx_pdfium_64.dll en la carpeta Bin). Después de la compilación manual, debe cambiar el nombre de la biblioteca a frx_pdfium.dll para sistemas de 32 bits y a frx_pdfium_64.dll para sistemas de 64 bits. Para la compilación manual, necesita Visual Studio y Google depot_tools. Se puede encontrar más información aquí y aquí.
Como se escribió anteriormente, no necesita compilar Pdfium, puede usar bibliotecas preparadas del paquete de instalación de FastReport VCL, pero si su empresa tiene una limitación de seguridad y requiere compilar todo el código de su lado, use los enlaces de arriba.
El TfrxPDFView puede dibujar documentos tanto en una como en varias páginas del informe. Uso de la capacidad del motor de informes para dividir objetos. Echemos un vistazo a cómo usar este objeto y qué habilidad proporciona.
Después de una instalación clara, la última versión de FastReport VCL 2021.3, este componente debería aparecer en el paladar de componentes de Delphi en la sección FastReport VCL.
Simplemente coloque TfrxPDFObject en el formulario de solicitud para usar TfrxPDFView en tiempo de ejecución. Si comenzó con un nuevo proyecto, añadido también el componente TfrxReport a un formulario y con un doble clic en él, llame al diseñador de informes.
Luego haga clic en el objeto PDF en el panel de objetos del diseñador de informes y cree un nuevo objeto en la banda en el informe. Como cualquier otro objeto FastReport VCL.
El objeto fue creado. Después de eso, debería aparecer el editor de objetos que permite cargar un documento PDF.
TfrxPDFView permite imprimir documentos de varias páginas. Para esto TfrxPDFView tiene nuevas propiedades.
La propiedad DetailStretchMode es responsable de mostrar el contenido dentro del contenedor del objeto y puede tener uno de los siguientes valores:
- pdOneToOneStrongStretch: una página siempre se estira utilizando el tamaño del objeto del informe. No mantiene la relación de aspecto.
- pdOneToOneNormalize: una página siempre se estira y mantiene la relación de aspecto de la página original en un documento PDF.
- pdManyToOneNormalize: permite ajustar varias páginas en el área del objeto del informe y mantiene la relación de aspecto de la página original en un documento PDF.
Impresión de documentos PDF de varias páginas
FastReport VCL permite imprimir documentos PDF como una página de un documento PDF en una página del informe para cada página de un documento PDF.
Ya creamos y cargamos un documento PDF en la banda Título del informe en el informe. Extiéndalo a toda la página de la plantilla de informe. Debería verse como la imagen de abajo.
Si hacemos clic en la vista previa del informe ahora, veremos solo una página del documento PDF de carga, incluso cuando un documento tiene más de una página. Para imprimir todas las páginas, necesitamos realizar una serie de pasos.
-
Paso 1. Active las propiedades AllowSplit y Stretched y establézcalas en True en el objeto de banda que tiene TfrxPDFView como elemento secundario. Necesitamos esta banda para estiramientos y divisiones.
- Paso 2. Establezca la propiedad StretchMode en smActualHeight o smMaxHeight en el objeto TfrxPDFView. Este objeto puede estirarse ahora.
Ejecutemos la vista previa del informe y verifiquemos la salida del informe.
FastReport VCL imprime todas las páginas del documento PDF en la página del informe.
El objeto TfrxPDFView tiene también otras propiedades. La propiedad "Contraseña" establece una contraseña de documento PDF. Las banderas "DrawOptions" permiten controlar la salida del documento.
Además, puede usar un nombre de archivo como fuente para el objeto TfrxPDFView usando la propiedad FileLink. ¡Y eso no es todo! Con la nueva propiedad DataLink, es posible cargar documentos incluso a través de los protocolos HTTP y HTTPS.
¡Ahora FastReport VCL puede imprimir documentos PDF dentro de un informe y no solo generarlos!