Cómo generar archivos PDF de informes basados en la herramienta de informes FastReport para mostrar el contenido de las notas de prescripción del hospital

FastReport .Net es una solución de informes con todas las funciones para Windows Forms, ASP.NET, MVC y .NET Core. Se puede utilizar en Microsoft Visual Studio 2005-2019. Admite .Net Framework 2.0-4.x, .NET Core 3.0 y versiones posteriores.

En la nueva versión de FastReport .NET 2021.1, hemos implementado soporte para .NET 5. Se agregó un nuevo código de barras: Deutsce Post Leitcode. El algoritmo para convertir RTF en objetos de informe se ha mejorado significativamente. Y también se agregaron nuevas funciones para convertir números. Bienvenido a descargar y experimentar. (Haga clic en el botón de abajo para descargar)

Haga clic para descargar la última versión de FastReport.NET v2021.1 ahora

2. Genere el contenido del informe en PDF

A través del diseño de la plantilla de informe anterior, hemos preparado el trabajo preliminar básico Lo que necesitamos es presentar los datos de forma dinámica de acuerdo con las necesidades comerciales reales.

Al vincular datos y generar un informe en formato PDF, primero debemos construir un objeto de informe, como se muestra en el siguiente código.

// Generar documentos de informe PDF a archivos específicos
Informe informe = nuevo Informe ();
informe.Load (ruta de informe);
Dado que los datos se construyen dinámicamente, necesitamos preparar dos partes: fuente de datos de parámetros y fuente de datos de campo. Usamos parámetros Diccionario para transportar, datos de campo, utilizamos DataTable para transportar, como se muestra a continuación.
// Definir parámetros y formato de datos
var dict = new Dictionary <string, object> ();
var dt = DataTableHelper.CreateTable ("ProductName, Quantity | int, Unit, Specification, HowTo, Frequency");
Luego, completamos de acuerdo con el sistema necesita Ingrese datos dinámicos, como se muestra en el siguiente código.
// Preparar los datos
dict.Add ("Nombre", info.PatientName);
dict.Add ("Sexo", info.Gender);
var age = info.BirthDate.GetAge ();
dict.Add ("Age", age );
dict.Add ("Teléfono", info.Telephone);
dict.Add ("CreateTime", info.CreateTime);

var checkDoctor = BLLFactory.Instance.GetFullNameByOpenID (info.CheckDoctor);
dict.Add (“CheckDoctor”,! string.IsNullOrEmpty (checkDoctor)? checkDoctor: “未知”);

var CheckPharmacist = BLLFactory.Instance.GetFullNameByOpenID (info.CheckPharmacist);
dict.Add (“CheckPharmacist”,! string.IsNullOrEmpty (CheckPharmacist)? CheckPharmacist: “未知”);

var SendUser = BLLFactory.Instance.GetFullNameByOpenID (info.SendUser);
dict.Add (“SendUser”,! string.IsNullOrEmpty (SendUser)? SendUser: “未知”);

var qrcode = string.Format ("{0} / h5 / PrescriptionDetail? id = {1}", ConfigData.WebsiteDomain, info.ID);
dict.Add ("QrCode", qrcode);
dict.Add ("Código de barras", info.PrescriptionNo);

if (detailList! = null)
{ foreach (var item in detailList) { var dr = dt.NewRow (); dr ["ProductName"] = item.ProductName; dr ["Cantidad"] = item.Quantity; dr [" Unit "] = item.Unit; dr [" Specification "] =" "; dr [" HowTo "] = item.HowTo; dr [" Frequency "] = item.Frequency; dt.Rows.Add (dr); } } Finalmente, vincule y genere un informe PDF basado en los datos anteriores, como se muestra en el siguiente código. // Actualizar el informe de la fuente de datos.RegisterData (dt, “Detail”); foreach (clave de cadena en dict.Keys) { report.SetParameterValue (clave, dict [clave]); }


















// Ejecutar el informe
report.Prepare ();

// Exportar informe PDF
PDFExport export = new PDFExport ();
report.Export (export, realPath);
report.Dispose ();
Debido a esta función estamos presentando un informe integrado en la cuenta pública de WeChat, por lo que podemos obtener una vista previa a través de PDF Way, o abra directamente el documento PDF.
Si usa el método de vista previa en línea de PDF, puede consultar mi ensayo "Varias soluciones para realizar la vista previa en línea de PDF" y, finalmente, usar el programa de vista previa en línea PDFJS, ya sea en WeChat o Web, es un efecto relativamente bueno.

Si usa la vista previa de PDFJS, entonces el código JS es el siguiente.
var baseUrl = "@ ViewBag.WebsiteDomain / Content / JQueryTools / pdfjs / web / viewer.html";
var url = baseUrl + "? file =" + filePath; // La dirección real
location.href = url;
si es directamente Abra el PDF, Pasaremos directamente una ruta de archivo PDF al navegador,
location.href = filePath
Preview en WeChat se muestra a continuación.

Inserte la descripción de la imagen aquí

El uso de informes FastReport, en general, la carga de trabajo se basa principalmente en el diseño de plantillas de informes. El trabajo de vinculación de datos a través del código es muy simple. Solo necesita especificar los parámetros correspondientes y las tablas de datos de campo, y el diseño del informe es un elemento para trabajo meticuloso, necesitamos ajustar repetidamente el formato y el efecto de presentación de acuerdo con la situación real para lograr la perfección, pero en general, FastReport proporciona un proceso de diseño y procesamiento de informes muy poderoso, de modo que podemos diseñar algunos informes complejos. Más eficiente.

Supongo que te gusta

Origin blog.csdn.net/RoffeyYang/article/details/112563366
Recomendado
Clasificación