SilverCard / DanfeSharp

Biblioteca C# para geração de DANFE em PDF.
MIT License
97 stars 81 forks source link

NotSupportedException no método Gerar #1

Closed felixsevero closed 6 years ago

felixsevero commented 6 years ago

Olá, ao utilizar o seguinte código eu recebi a exceção:

var modelo = DanfeViewModelCreator.CriarDeArquivoXml("nfe.xml");
using(var danfe = new Danfe(modelo)) {
    danfe.Gerar();
    danfe.Salvar("danfe.pdf");
}

A exceção detalhada:

_System.NotSupportedException ocorrido HResult=0x80131515 Message=Não há suporte para o método especificado. Source=DanfeSharp StackTrace: em DanfeSharp.Duplicata.setHeight(Single value) em DanfeSharp.DrawableBase.SetSize(Single w, Single h) em DanfeSharp.FlexibleLine.Posicionar() em DanfeSharp.FlexibleLine.Draw(Gfx gfx) em DanfeSharp.VerticalStack.Draw(Gfx gfx) em DanfeSharp.Blocos.BlocoBase.Draw(Gfx gfx) em DanfeSharp.DanfePagina.DesenharBlocos(Boolean isPrimeirapagina) em DanfeSharp.Danfe.CriarPagina() em DanfeSharp.Danfe.Gerar()

Quando criei um ConsoleApplication na solução do DanfeSharp para testes, consegui gerar sem problemas, mas quando compilo a DLL do DanfeSharp e do PDFClown e adiciono as referências em meu software, eu tenho esse problema. Aguardo sua resposta, obrigado.

Fazendo mais alguns testes, percebi que isso ocorre no XML quando existe o seguinte trecho de código:

<cobr>
    <fat>
        <nFat>12345678910</nFat>
        <vLiq>100.00</vLiq>
    </fat>
    <dup>
        <nDup>123456789</nDup>
        <vDup>50.00</vDup>
    </dup>
    <dup>
        <nDup>987654321</nDup>
        <vDup>50.00</vDup>
    </dup>
</cobr>

Entretanto, o mesmo XML funciona dentro da solução do DanfeSharp...

SilverCard commented 6 years ago

Olá,

Pelo stack trace eu vi que o "FlexibleLine" tentou alterar a altura do "Duplicata", que por sua vez, joga esse exception.

Isso foi corrigido no commit 98618f678477a7af9a4b3e141d6c3c00e06e8ea7.

Poderia confirmar?

felixsevero commented 6 years ago

Boa tarde, aparentemente agora está funcionando perfeitamente. Agradeço sua ajuda na resolução desse problema. Att, Félix :)