Como gerar arquivos PDF de relatório com base na ferramenta de relatório FastReport para mostrar o conteúdo das notas de prescrição hospitalar

FastReport .Net é uma solução de relatório com todos os recursos para Windows Forms, ASP.NET, MVC e .NET Core. Ele pode ser usado no Microsoft Visual Studio 2005-2019. Suporte .Net Framework 2.0-4.x, .NET Core 3.0 e superior.

Na nova versão do FastReport .NET 2021.1, implementamos o suporte para .NET 5. Adicionado um novo código de barras-Deutsce Post Leitcode. O algoritmo para converter RTF em objetos de relatório foi aprimorado significativamente. E também adicionou novas funções para converter números. Bem-vindo ao download e experiência. (Clique no botão abaixo para fazer o download)

Clique para baixar a versão mais recente do FastReport.NET v2021.1 agora

2. Gerar o conteúdo do relatório em PDF

Através do design do template de relatório acima, preparamos o trabalho preliminar básico, o que precisamos é apresentar dados dinamicamente de acordo com as necessidades reais do negócio.

Ao vincular dados e gerar um relatório em formato PDF, precisamos construir um objeto de relatório primeiro, conforme mostrado no código a seguir.

// Gerar documentos de relatório PDF para arquivos específicos
Report report = new Report ();
report.Load (reportPath);
Como os dados são construídos dinamicamente, precisamos preparar duas partes: fonte de dados de parâmetro e fonte de dados de campo. Usamos parâmetros Dicionário para transportar, dados de campo, usamos DataTable para transportar, conforme mostrado abaixo.
// Definir parâmetros e formato de dados
var dict = new Dictionary <string, object> ();
var dt = DataTableHelper.CreateTable ("ProductName, Quantity | int, Unit, Specification, HowTo, Frequency");
Em seguida, preenchemos de acordo com sistema precisa Insira dados dinâmicos, conforme mostrado no código a seguir.
// Prepara os dados
dict.Add ("Name", info.PatientName);
dict.Add ("Gender", info.Gender);
var age = info.BirthDate.GetAge ();
dict.Add ("Age", age );
dict.Add ("Telefone", info.Telefone);
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 (“BarCode”, info.PrescriptionNo);

if (detailList! = null)
{ foreach (var item in detailList) { var dr = dt.NewRow (); dr ["ProductName"] = item.ProductName; dr ["Quantity"] = item.Quantity; dr [" Unit "] = item.Unit; dr [" Specification "] =" "; dr [" HowTo "] = item.HowTo; dr [" Frequency "] = item.Frequency; dt.Rows.Add (dr); } } Finalmente, vincule e gere um relatório PDF com base nos dados acima, conforme mostrado no código a seguir. // Atualizar a fonte de dados report.RegisterData (dt, “Detalhe”); foreach (string key in dict.Keys) { report.SetParameterValue (key, dict [key]); }


















// Execute o relatório
report.Prepare ();

// Exportar relatório PDF
PDFExport export = new PDFExport ();
report.Export (export, realPath);
report.Dispose ();
Por causa desta função estamos apresentando um relatório integrado na conta pública do WeChat, para que possamos visualizá-lo através PDF Way, ou abra diretamente o documento PDF.
Se você usar o método de visualização online de PDF, pode consultar meu ensaio "Várias soluções para realizar a visualização online de PDF" e, finalmente, usar o programa de visualização online PDFJS, seja no WeChat ou na Web, é um efeito relativamente bom.

Se você usar a visualização PDFJS, o código JS será o seguinte.
var baseUrl = "@ ViewBag.WebsiteDomain / Content / JQueryTools / pdfjs / web / viewer.html";
var url = baseUrl + "? file =" + filePath; // O endereço real
location.href = url;
se for diretamente abrir o PDF, passaremos diretamente um caminho de arquivo PDF para o navegador,
location.href =
visualização de filePath no WeChat é mostrada abaixo.

Insira a descrição da imagem aqui

Usando relatórios FastReport, em geral, a carga de trabalho está principalmente na criação de modelos de relatório. O trabalho de vinculação de dados por meio de código é muito simples. Você só precisa especificar os parâmetros correspondentes e as tabelas de dados de campo, e o design do relatório é um item. trabalho meticuloso, precisamos ajustar repetidamente o formato e o efeito da apresentação de acordo com a situação real para atingir a perfeição, mas no geral, o FastReport fornece um processo de design e processamento de relatório muito poderoso, para que possamos criar alguns relatórios complexos. Mais eficiente.

Acho que você gosta

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