Closed homerokzam closed 7 years ago
@homerokzam desculpa não te responder, mas não tenho experiência em asp.net. Acredito que vais achar a solução procurando na net como referenciar/armazenar fontes para uso em um projeto asp.net
Obrigado @adeniltonbs . Ainda não achei a solução. Acho que é na biblioteca da relatório, porém não sei usar a FastReport. Pelo que entendi eu teria que instalar as fontes na máquina que roda a aplicação asp.net, porém é um servidor remoto que não tenho acesso para isto, apenas para deploy.
Você pode incluir a fonte no seu projeto e carregar essa fonte na memória para uso da sua aplicação através da classe: System.Drawing.Text.PrivateFontCollection
Não tenho certeza se o FastReports vai conseguir capturar essa fonte ou se ele é compatível com asp.net, talvez você precise implementar uma versão web de impressão.
2016-09-28 21:53 GMT-03:00 homerokzam notifications@github.com:
Obrigado @adeniltonbs https://github.com/adeniltonbs . Ainda não achei a solução. Acho que é na biblioteca da relatório, porém não sei usar a FastReport. Pelo que entendi eu teria que instalar as fontes na máquina que roda a aplicação asp.net, porém é um servidor remoto que não tenho acesso para isto, apenas para deploy.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe/issues/205#issuecomment-250342853, or mute the thread https://github.com/notifications/unsubscribe-auth/AGveQ-QMSxnlmtqSB0hmaPIGCPt6ajr8ks5quwwDgaJpZM4KFmmk .
Obrigado @francofs . Testei porém não funcionou. Não acho documentação do FastReports com relação a fonte externa em um projeto asp.net.
No projeto asp.net eu uso a função para gerar o report em pdf, e encaminho por email.
Irei continuar pesquisando.
@homerokzam, eu implementei em asp.net, porém, não fiz o uso do FastReports. O que fiz foi gerar o layout em um webform, sendo assim consigo carregar uma fonte .ttf qualquer via CSS como abaixo:
<style type="text/css"> @font-face { font-family: NOME_DA_FONTE; src: url(FONTE.ttf); } </style>
Ai declaro a font no style do elemento
<div style="font-family: NOME_DA_FONTE"> </div>
Talvez não seja a implementação mais correta, porém, atendeu ao requisito do projeto.
@hardzork Obrigado pela ajuda. Você poderia disponibilizar este webform?
Obrigado.
Acredito que foi enviado por engano.
De: homerokzam notifications@github.com Enviado: quinta-feira, 27 de outubro de 2016 19:44 Para: adeniltonbs/Zeus.Net.NFe.NFCe Assunto: Re: [adeniltonbs/Zeus.Net.NFe.NFCe] Impressão NFCe - Fontes (#205)
@hardzorkhttps://github.com/hardzork Obrigado pela ajuda. Você poderia disponibilizar este webform?
Obrigado.
You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/adeniltonbs/Zeus.Net.NFe.NFCe/issues/205#issuecomment-256800783, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ATpimWruNOuNhdi6Xf273bcnN3cGuHNGks5q4TdtgaJpZM4KFmmk.
@homerokzam, claro que posso, segue abaixo a implementação:
Pagina.ASPX
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>NFC-e</title>
<style type="text/css">
@font-face {
font-family: NOME_DA_FONTE;
src: url(~/NOME_DA_FONTE.ttf);
}
.auto-style1 {
text-align: right;
}
.auto-style2 {
text-align: left;
}
.auto-style3 {
width: 173px;
}
</style>
</head>
<body onload="window.print();">
<div style=" height: 850px; width: 400px;">
<table style="width:100%; font-family: Loopi; font-size: 14px;">
<tr>
<td colspan="7" style="text-align: center">
NOME DA EMPRESA</td>
</tr>
<tr>
<td colspan="6" class="auto-style3">CNPJ: CNPJ DA EMPRESA</td>
<td class="auto-style2">IE: INSCRIÇÃO ESTADUAL</td>
</tr>
<tr>
<td colspan="7">END.: ENDEREÇO DA EMPRESA</td>
</tr>
<tr>
<td colspan="6" class="auto-style3">Bairro: BAIRRO - MUNICIPIO UF DA EMPRESA</td>
<td class="auto-style2">CEP: CEP DA EMPRESA</td>
</tr>
<tr>
<td colspan="7">------------------------------------------------</td>
</tr>
<tr>
<td colspan="7" style="text-align: center">DANFE NFC-e - Documento Auxiliar da Nota Fiscal de Consumidor Eletronica<br />
Nao permite aproveitamento de credito de ICMS</td>
</tr>
<tr>
<td colspan="7">------------------------------------------------</td>
</tr>
<tr>
<td>COD. </td>
<td>Descricao</td>
<td>Qtd</td>
<td>Un</td>
<td>Vlr</td>
<td colspan="2" style="text-align: right">Total</td>
</tr>
<tr>
<td colspan="7">------------------------------------------------</td>
</tr>
<tr>
<td>1</td>
<td>PRODUTO 0001</td>
<td>1</td>
<td>Un</td>
<td>95,00</td>
<td class="auto-style1" colspan="2">95,00</td>
</tr>
<tr>
<td colspan="7">------------------------------------------------</td>
</tr>
<tr>
<td colspan="5">QTD. TOTAL DE ITENS</td>
<td colspan="2" style="text-align: right">1</asp:Label></td>
</tr>
<tr>
<td colspan="5">VALOR TOTAL R$</td>
<td class="auto-style1" colspan="2">95,00</td>
</tr>
<tr>
<td colspan="5">FORMA DE PAGAMENTO</td>
<td class="auto-style1" colspan="2">Valor Pago</td>
</tr>
<tr>
<td colspan="5">Dinheiro</td>
<td class="auto-style1" colspan="2">95,00</td>
</tr>
<tr>
<td colspan="5">Troco R$</td>
<td class="auto-style1" colspan="2">R$0,00</td>
</tr>
<tr>
<td colspan="5">Valor aprox. dos trib. deste cupom</td>
<td class="auto-style1" colspan="2">R$ 0,00</td>
</tr>
<tr>
<td colspan="5">(conforme Lei Fed.12.741/2012)</td>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="7">------------------------------------------------</td>
</tr>
<tr>
<td colspan="7" style="text-align: center">Número: 1 Série: 001 Emissão: 28/10/2016 15:40:00<br />
Consulte pela Chave de Acesso em: URL DE CONSULTA POR CHAVE DA NFCE DA SEFAZ DO SEU ESTADO<br />
CHAVE DE ACESSO<br />
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000</td>
</tr>
<tr>
<td colspan="7">------------------------------------------------</td>
</tr>
<tr>
<td colspan="7" style="text-align: center">CONSUMIDOR NÃO IDENTIFICADO</asp:Label></td>
</tr>
<tr>
<td colspan="7">------------------------------------------------</td>
</tr>
<tr>
<td colspan="7" style="text-align: center">Consulta via leitor de QR Code<br /><br />
IMAGEM DO QRCODE<br /><br />
Protocolo de Autorização:<br />
0000000000000000 28/10/2016 15:40:00</td>
</tr>
<tr>
<td colspan="5"> </td>
<td colspan="2"> </td>
</tr>
</table>
</div>
</body>
</html>
Esta pagina imprime perfeitamente na impressora Bematech MP4200 TH.
Lembrando que você pode mudar a fonte via CSS.
Para gerar o QRCode, utilizo a biblioteca MessagingToolkit.QRCode
que transforma a url (string) em bytes, assim posso usar base64 e atribuir ao componente imagem do asp.net, como mostro abaixo
QRCodeEncoder qrCodecEncoder = new QRCodeEncoder();
qrCodecEncoder.QRCodeBackgroundColor = Color.White;
qrCodecEncoder.QRCodeForegroundColor = Color.Black;
qrCodecEncoder.CharacterSet = "UTF-8";
qrCodecEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodecEncoder.QRCodeScale = 10;
qrCodecEncoder.QRCodeVersion = 100;
qrCodecEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
Bitmap imageQRCode;
String data = URL_QR_CODE;
imageQRCode = qrCodecEncoder.Encode(data);
ImageConverter converter = new ImageConverter();
byte[] bytes = (byte[])converter.ConvertTo(imageQRCode, typeof(byte[]));
string base64String = Convert.ToBase64String(bytes, 0, bytes.Length);
img_qrcode.ImageUrl = "data:image/png;base64," + base64String;
Qualquer dúvida é só perguntar.
@hardzork Muito obrigado. Irei testar!
Como faço para usar as fontes do documento de impressão em um projeto asp.net?
Obrigado, Homero