/// <summary> /// Ejemplo de creación de un pdf de factura TicketBai. /// </summary> private void CrearFacturaPdfTicketBai() { // Creamos y preparamos un documento de ejemplo Documento documento = CrearDocumentoEjemplo(); // Creo un objeto TicketBai para obtener el código indentificativo y el CRC8 var ticketBai = TicketBaiFactory.GetTicketBai(documento); // Firmo el ticketBai var xmlParser = new XmlParser(); var signer = new TicketBai.Xades.Signer.TicketBaiSigner(new CanonicalizationMethodDsigC14N(), new DigestMethodSHA512(), new SHA256Managed()); var xml = xmlParser.GetString(ticketBai, new Dictionary <string, string>() { { "T", "urn:ticketbai:emision" }, }); signer.Load(xml); var certificado = CargaCertificado(); signer.Sign(certificado); // obtener el código indentificativo y el CRC8 documento.CodigoIdentificativo = $"{signer.TicketBaiSigned.CodigoIdentificativo}"; documento.CodigoDetecionErrores = signer.TicketBaiSigned.CodigoIdentificativo.ControlCRC8; // Texto html de plantilla de factura var plantillaFacturaHtml = Resources.factura; RenderizadorHtml renderizadorHtml = new RenderizadorHtml(documento, plantillaFacturaHtml); // Texto html completado con los datos del documento var facturaHtml = renderizadorHtml.Renderiza(); // Mediante el texto html obtenemos el pdf de factura var pdfManager = new PdfManager(); var facturaPdf = pdfManager.GetPdfFormHtml(facturaHtml, "", (byte[])Resources.seguiemj); // Guardamos el pdf var pdfPath = $"{Parametros.Actual.ParametrosAlmacen.RutaArchivosTemporales}TicketBai.pdf"; File.WriteAllBytes(pdfPath, facturaPdf); wBr.Navigate(pdfPath); }