/// <summary> /// Imprime em um JPEG o NFC-e relacionado a um xml. /// </summary> /// <param name="pathXmlNFCe">Path do NFC-e a imprimir</param> /// <param name="pathJpeg">Path onde gerar o jpeg</param> public void ImprimirNFCe(string pathXmlNFCe, string pathJpeg, string idToken, string csc) { var nfe = new Classes.NFe().CarregarDeArquivoXml(pathXmlNFCe); var arquivo = nfe.ObterXmlString(); var configuracaoDanfeNFCe = new ConfiguracaoDanfeNfce(Danfe.Base.NfceDetalheVendaNormal.UmaLinha, Danfe.Base.NfceDetalheVendaContigencia.UmaLinha); DanfeNativoNfce impr = new DanfeNativoNfce(arquivo, configuracaoDanfeNFCe, idToken, csc); impr.GerarJPEG(pathJpeg); }
/// <summary> /// Gera id, cdv, assina e faz alguns ajustes nos dados da classe NFe antes de utilizá-la /// </summary> /// <param name="nfe"></param> /// <returns>Retorna um objeto NFe devidamente tradado</returns> public static Classes.NFe Valida(this Classes.NFe nfe) { if (nfe == null) { throw new ArgumentNullException("nfe"); } var versao = (Decimal.Parse(nfe.infNFe.versao, CultureInfo.InvariantCulture)); var xmlNfe = nfe.ObterXmlString(); var cfgServico = ConfiguracaoServico.Instancia; if (versao < 3) { Validador.Valida(ServicoNFe.NfeRecepcao, cfgServico.VersaoNfeRecepcao, xmlNfe, false); } if (versao >= 3) { Validador.Valida(ServicoNFe.NFeAutorizacao, cfgServico.VersaoNFeAutorizacao, xmlNfe, false); } return(nfe); //Para uso no formato fluent }