Jump to content

dev botao

Erro GetOutlineTextMetrics failed


Benjamin Machado
Go to solution Solved by Daniel Simoes,
  • Este tópico foi criado há 464 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Boa tarde,

Estou utilizando a acbrLib Nfe na minha aplicação em nuvem(asp.net.core) e quando eu tento emitir o DANFE o corre o erro GetOutlineTextMetrics failed e o pdf não é gerado. Estranhamento quando rodo na minha maquina local o erro não acontece. Teriam alguma indicação do motivo do erro a lib está toda configurada mas o erro sempre acontece quando tenta imprimir o DANFE da nota. Referente ao log da lib já tentei configurar mas não está funcionando.

configuração da lib:

            acbrNfe.Config.Principal.LogNivel = ACBrLib.Core.NivelLog.logCompleto;
            acbrNfe.Config.Principal.LogPath = caminho do log;
            acbrNfe.Config.Timeout = 30000;
            acbrNfe.Config.FormaEmissao = TipoEmissao.teNormal;
            acbrNfe.Config.ModeloDF = ModeloNFe.moNFe;
            acbrNfe.Config.VersaoDF = VersaoNFe.ve400;
            acbrNfe.Config.DFe.UF = Uf;
            acbrNfe.Config.Ambiente = TipoAmbiente.taHomologacao;
            acbrNfe.Config.SSLType = SSLType.LT_TLSv1_2;

            acbrNfe.Config.DFe.SSLXmlSignLib = SSLXmlSignLib.xsLibXml2;
            acbrNfe.Config.DFe.SSLCryptLib = SSLCryptLib.cryOpenSSL;
            acbrNfe.Config.DFe.SSLHttpLib = SSLHttpLib.httpOpenSSL;

           acbrNfe.Config.PathNFe = caminhoNfe;
            acbrNfe.Config.DANFe.PathPDF = caminhoNfePdf;
            acbrNfe.Config.DFe.ArquivoPFX = caminhhoArquivoPfx;
            acbrNfe.Config.DFe.Senha = senha;
            acbrNfe.Config.SalvarApenasNFeProcessadas = false;
            acbrNfe.Config.DANFe.MostraStatus = false;

 

Link to comment
Share on other sites

  • Consultores
41 minutos atrás, Benjamin Machado disse:

Boa tarde,

Estou utilizando a acbrLib Nfe na minha aplicação em nuvem(asp.net.core) e quando eu tento emitir o DANFE o corre o erro GetOutlineTextMetrics failed e o pdf não é gerado. Estranhamento quando rodo na minha maquina local o erro não acontece. Teriam alguma indicação do motivo do erro a lib está toda configurada mas o erro sempre acontece quando tenta imprimir o DANFE da nota. Referente ao log da lib já tentei configurar mas não está funcionando.

configuração da lib:

            acbrNfe.Config.Principal.LogNivel = ACBrLib.Core.NivelLog.logCompleto;
            acbrNfe.Config.Principal.LogPath = caminho do log;
            acbrNfe.Config.Timeout = 30000;
            acbrNfe.Config.FormaEmissao = TipoEmissao.teNormal;
            acbrNfe.Config.ModeloDF = ModeloNFe.moNFe;
            acbrNfe.Config.VersaoDF = VersaoNFe.ve400;
            acbrNfe.Config.DFe.UF = Uf;
            acbrNfe.Config.Ambiente = TipoAmbiente.taHomologacao;
            acbrNfe.Config.SSLType = SSLType.LT_TLSv1_2;

            acbrNfe.Config.DFe.SSLXmlSignLib = SSLXmlSignLib.xsLibXml2;
            acbrNfe.Config.DFe.SSLCryptLib = SSLCryptLib.cryOpenSSL;
            acbrNfe.Config.DFe.SSLHttpLib = SSLHttpLib.httpOpenSSL;

           acbrNfe.Config.PathNFe = caminhoNfe;
            acbrNfe.Config.DANFe.PathPDF = caminhoNfePdf;
            acbrNfe.Config.DFe.ArquivoPFX = caminhhoArquivoPfx;
            acbrNfe.Config.DFe.Senha = senha;
            acbrNfe.Config.SalvarApenasNFeProcessadas = false;
            acbrNfe.Config.DANFe.MostraStatus = false;

 

Boa tarde!

Citar

Referente ao log da lib já tentei configurar mas não está funcionando.

Quer dizer que o log não lhe mostra nenhuma informação relevante ou que ele não está sendo gerado?
Se ele não estiver sendo gerado, por favor, peço que revise suas configurações, pois fornecer o log pode auxiliar na análise e descoberta do problema.
Quanto ao erro de GetOutlineTextMetrics failed, a princípio, por favor, faça um teste definindo um fonte.nome(https://acbr.sourceforge.io/ACBrLib/ConfiguracoesdaBiblioteca16.html) para o DANFENFe.
"Funciona na máquina local, mas em nuvem da problema", o teste de impressão é feito na mesma impressora?

  • Like 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Membros Pro
1 hora atrás, Diego Foliene disse:

Boa tarde!

Quer dizer que o log não lhe mostra nenhuma informação relevante ou que ele não está sendo gerado?
Se ele não estiver sendo gerado, por favor, peço que revise suas configurações, pois fornecer o log pode auxiliar na análise e descoberta do problema.
Quanto ao erro de GetOutlineTextMetrics failed, a princípio, por favor, faça um teste definindo um fonte.nome(https://acbr.sourceforge.io/ACBrLib/ConfiguracoesdaBiblioteca16.html) para o DANFENFe.
"Funciona na máquina local, mas em nuvem da problema", o teste de impressão é feito na mesma impressora?

Referente ao Log eu já configurei os LogNivel e LogPath mas o arquivo de log não é gerado.

Fiz o teste de definir fonte.nome para o DANFENFe mas o erro GetOutlineTextMetrics failed continua.

No caso não é na impressão que ocorre o erro mas quando vai gerar o pdf em tela que o erro ocorre, estou fazendo a chamada do método  ImprimirPDF passando um memoryStream como parâmetro  para que o pdf seja escrito no stream, como disse antes local funciona normal mas no ambiente em núvem ocorre o erro citado. 

Link to comment
Share on other sites

  • Membros Pro
23 horas atrás, Renato Rubinho disse:

Bom dia,

Outros métodos estão gerando o log? Se estiverem, o log está no mesmo caminho?

Se não está gerando o arquivo de log, pode estar em um caminho inválido ou inacessível e causando uma anomalia que pode estar afetando a geração do PDF.

Bom dia,

Eu nunca usava o log, so depois que ocorreu esse erro que eu tentei configurar o log e vi que o arquivo não era gerado. Referente ao caminho é uma pasta dentro da minha aplicação, inclusive eu consigo salvar o arquivo pdf pelo mesmo caminho mas quando peço para gerar o log o arquivo não é gerado.

Um detalhe também é que eu já experimentei uma outro produto sem ser o acbr e conseguir imprimir o danfe sem problemas, contudo esse outro produto não imprimi a nota com a tarja de cancelamento quando a nota está cancelada, por isso voltei para a lib acbrNfe. Agora esse erro  GetOutlineTextMetrics failed o que ele significa? tentei achar algo na internet mas sem sucesso. 

 

Link to comment
Share on other sites

  • Consultores

Bom dia!

Citar

Agora esse erro  GetOutlineTextMetrics failed o que ele significa?

A partir destes links da para supor que o problema é relacionado a fonte do relatório.

Citar

saberiam informar por que so o log simples está sendo gerado?

O log de níveis mais elevados também deveria gerar sem problemas. Mas apenas por desencargo, por favor, verifique se sua aplicação está sendo executada com permissões de administrador(Se não estiver, por favor, faça um teste).

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Membros Pro
1 hora atrás, Diego Foliene disse:

Bom dia!

A partir destes links da para supor que o problema é relacionado a fonte do relatório.

O log de níveis mais elevados também deveria gerar sem problemas. Mas apenas por desencargo, por favor, verifique se sua aplicação está sendo executada com permissões de administrador(Se não estiver, por favor, faça um teste).

Referente ao log, mesmo eu executando como administrador na minha maquina o log completo não é gerado apenas o log simples é gerado.

 

Sobre  a questão do fonte do relatório, no caso é um erro da lib? porque o mesmo xml na maquina local ele gera o danfe sem problemas mas quando tento gerar na aplicação em nuvem ocorre o erro. minha maquina e o ambiente em nuvem ambos são windows. contudo o da minha maquina é 64 bits o da nuvem eu não sei, por acaso o fato de ser 32 bits pode ocasionar esse erro? 

 

Link to comment
Share on other sites

  • Consultores
2 horas atrás, Benjamin Machado disse:

Referente ao log, mesmo eu executando como administrador na minha maquina o log completo não é gerado apenas o log simples é gerado.

 

Sobre  a questão do fonte do relatório, no caso é um erro da lib? porque o mesmo xml na maquina local ele gera o danfe sem problemas mas quando tento gerar na aplicação em nuvem ocorre o erro. minha maquina e o ambiente em nuvem ambos são windows. contudo o da minha maquina é 64 bits o da nuvem eu não sei, por acaso o fato de ser 32 bits pode ocasionar esse erro? 

 

referente ao log, esta informando = 4 = Paranoico
 
referente a versão da máquina, não tem problema, pode ser x64 ou x86.. o que vale é a versão compilada da sua aplicação, se compilar x86, você tem que distribuir acbrlib x86.. tanto local, quanto na nuvem.
chegou verificar permissões do servidor nuvem? não esta com nenhum bloqueio ? proxy, nem nada ? 

Programa exemplo ocorre mesmo comportamento ?
Esta utilizando ultima versão do ACBrLib?

Link to comment
Share on other sites

  • Membros Pro
9 minutos atrás, antonio.carlos disse:

referente ao log, esta informando = 4 = Paranoico
 
referente a versão da máquina, não tem problema, pode ser x64 ou x86.. o que vale é a versão compilada da sua aplicação, se compilar x86, você tem que distribuir acbrlib x86.. tanto local, quanto na nuvem.
chegou verificar permissões do servidor nuvem? não esta com nenhum bloqueio ? proxy, nem nada ? 

Programa exemplo ocorre mesmo comportamento ?
Esta utilizando ultima versão do ACBrLib?

Os testes que fiz com o log foram com os níveis simples e completo, não testei com o paranoico

Não tem nenhum bloqueio ou proxy no servidor nuvem(azure)

Na maquina local a emissão do danfe funciona normalmente, mas o log não é gerado só é gerado no modelo simples.

A versão da lib que estou usando eu baixei semana passada.

Link to comment
Share on other sites

  • Membros Pro
5 minutos atrás, antonio.carlos disse:

pode anexar o log, por favor.

o log ta em branco por que como so gerava o simples não testei o que ele registra quando o ocorre o erro, pois pensei que ele não iria gerar nenhuma informação valida já que é o modelo mais simples. Mas posso gerar o log simples e anexar sem problema.

Link to comment
Share on other sites

  • Consultores
Agora, Benjamin Machado disse:

o log ta em branco por que como so gerava o simples não testei o que ele registra quando o ocorre o erro, pois pensei que ele não iria gerar nenhuma informação valida já que é o modelo mais simples. Mas posso gerar o log simples e anexar sem problema.

então tem coisa errada ai, log ele tem que ser gerado.. independente se você esta com algum erro ou não.
ele vai gravar as informações.. como inicialização da lib, leitura e gravação das informações do arquivo .ini..
faça testes com programa exemplo.. veja se acontece mesmo comportamento.

Link to comment
Share on other sites

  • Membros Pro
Agora, antonio.carlos disse:

então tem coisa errada ai, log ele tem que ser gerado.. independente se você esta com algum erro ou não.
ele vai gravar as informações.. como inicialização da lib, leitura e gravação das informações do arquivo .ini..
faça testes com programa exemplo.. veja se acontece mesmo comportamento.

ok, vou gerar o erro e anexar o log no modelo simples

Link to comment
Share on other sites

  • Consultores
25 minutos atrás, Benjamin Machado disse:

Como solicitado realizei o teste para que o erro ocorresse e em anexo está o log da acbrLib 

ACBrLibNFE Demo-20221104.log 78 B · 1 download

você esta usando versão Demo da ACBrLib, ela tem limitações de uso..
troque pela versão Pro, e faça novos testes

 

  • Like 1
Link to comment
Share on other sites

  • Consultores
12 minutos atrás, Benjamin Machado disse:

Estranho porque fiz o dowload desse mesmo link e quando fiz a subistituição dos arquivos, mas vou fazer novamente

sua aplicação esta pegando lib demo, algum path esta com a lib demo, faça limpeza, distribua versão pro, veja se consegue utilizar.
faça teste com o programa exemplo, veja se mesmo comportamento vai ocorrer, enquanto não tivermos este teste, não podemos prosseguir com analise.

Link to comment
Share on other sites

  • Membros Pro
3 minutos atrás, antonio.carlos disse:

você mudou o nível do log ?
https://acbr.sourceforge.io/ACBrLib/Geral.html

se sim, pode anexar o arquivo .ini de configuração por favor.

mudei sim, coloquei como comple. No caso eu não uso arquivo ini to usando o modo memoria da lib mas abaixo ta a configuração que eu estou fazendo quando a lib é chamada.

            acbrNfe.Config.Principal.LogNivel = ACBrLib.Core.NivelLog.logCompleto;
            acbrNfe.Config.Principal.LogPath = "caminho do log";
            acbrNfe.Config.Timeout = 30000;
            acbrNfe.Config.FormaEmissao = TipoEmissao.teNormal;
            acbrNfe.Config.ModeloDF = ModeloNFe.moNFe;
            acbrNfe.Config.VersaoDF = VersaoNFe.ve400;
            acbrNfe.Config.DFe.UF = Uf;
            acbrNfe.Config.Ambiente = TipoAmbiente.taHomologacao;
            acbrNfe.Config.SSLType = SSLType.LT_TLSv1_2;
            acbrNfe.Config.DFe.SSLXmlSignLib = SSLXmlSignLib.xsLibXml2;
            acbrNfe.Config.DFe.SSLCryptLib = SSLCryptLib.cryOpenSSL;
            acbrNfe.Config.DFe.SSLHttpLib = SSLHttpLib.httpOpenSSL;
            acbrNfe.Config.DFe.ArquivoPFX = "camiho do arquivo pfx";
            acbrNfe.Config.DFe.Senha = senha;
            acbrNfe.Config.PathNFe = "caminho nfe";
            acbrNfe.Config.DANFe.PathPDF = "caminho pdf";
            acbrNfe.Config.DANFe.NFe.Fonte.Nome = FonteNome.nfArial;
            if (notaCancelada)
                acbrNfe.Config.DANFe.Cancelada = true;
            acbrNfe.Config.PathSchemas = "caminho Schemas";
            acbrNfe.Config.PathSalvar = "caminho Xml";
            if (cancelar)
            {
                acbrNfe.Config.SalvarArq = true;
                acbrNfe.Config.PathEvento = "caminho Evento";
                acbrNfe.Config.DANFe.Cancelada = true;
            }
            acbrNfe.Config.SalvarApenasNFeProcessadas = false;
            acbrNfe.Config.DANFe.MostraStatus = false;

Link to comment
Share on other sites

  • Consultores
23 horas atrás, Benjamin Machado disse:

o da nuvem eu não sei

Olá, pra gente poder ajudar melhor, precisamos saber exatamente qual o ambiente em nuvem que está utilizando.

É qual versão do Windows? é 32 ou 64 bits?

Sua aplicação é 32 ou 64?

Está rodando sua aplicação por IIS? As fontes truetype padrões (Arial, Times, etc...) estão instaladas?

  • Like 2

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Consultores
14 minutos atrás, Benjamin Machado disse:

mudei sim, coloquei como comple. No caso eu não uso arquivo ini to usando o modo memoria da lib mas abaixo ta a configuração que eu estou fazendo quando a lib é chamada.

            acbrNfe.Config.Principal.LogNivel = ACBrLib.Core.NivelLog.logCompleto;
            acbrNfe.Config.Principal.LogPath = "caminho do log";
            acbrNfe.Config.Timeout = 30000;
            acbrNfe.Config.FormaEmissao = TipoEmissao.teNormal;
            acbrNfe.Config.ModeloDF = ModeloNFe.moNFe;
            acbrNfe.Config.VersaoDF = VersaoNFe.ve400;
            acbrNfe.Config.DFe.UF = Uf;
            acbrNfe.Config.Ambiente = TipoAmbiente.taHomologacao;
            acbrNfe.Config.SSLType = SSLType.LT_TLSv1_2;
            acbrNfe.Config.DFe.SSLXmlSignLib = SSLXmlSignLib.xsLibXml2;
            acbrNfe.Config.DFe.SSLCryptLib = SSLCryptLib.cryOpenSSL;
            acbrNfe.Config.DFe.SSLHttpLib = SSLHttpLib.httpOpenSSL;
            acbrNfe.Config.DFe.ArquivoPFX = "camiho do arquivo pfx";
            acbrNfe.Config.DFe.Senha = senha;
            acbrNfe.Config.PathNFe = "caminho nfe";
            acbrNfe.Config.DANFe.PathPDF = "caminho pdf";
            acbrNfe.Config.DANFe.NFe.Fonte.Nome = FonteNome.nfArial;
            if (notaCancelada)
                acbrNfe.Config.DANFe.Cancelada = true;
            acbrNfe.Config.PathSchemas = "caminho Schemas";
            acbrNfe.Config.PathSalvar = "caminho Xml";
            if (cancelar)
            {
                acbrNfe.Config.SalvarArq = true;
                acbrNfe.Config.PathEvento = "caminho Evento";
                acbrNfe.Config.DANFe.Cancelada = true;
            }
            acbrNfe.Config.SalvarApenasNFeProcessadas = false;
            acbrNfe.Config.DANFe.MostraStatus = false;

o que eu preciso é do arquivo .ini, anexe ele aqui por favor..

Link to comment
Share on other sites

  • Administradores

Boa tarde,

@Benjamin Machadoverifique por favor as perguntas feitas na postagem do consultor Elton, logo acima da ultima enviada pelo consultor Antonio.

At.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.