PDF do Danfe em Branco

Bom dia, estou tendo um problema ao baixar o pdf do danfe da NFe conforme o código abaixo, eu recebo os dados da api corretamente mas ao salvar o pdf da danfe ele me retorna um arquivo pdf em branco, eu utilizo praticamente a mesma rotina para baixar o xml e para baixar o xml está funcionando corretamente, alguém tem alguma idéia do que possa estar acontecendo? segue meu código abaixo

Configuration config = new Configuration();
config.BasePath = “https://api.sandbox.nuvemfiscal.com.br”;

        //token sandbox
        config.AccessToken = "MEU TOKEN";

        // cria instâncias de HttpClient, HttpClientHandler para serem reutilizadas em qualquer Api
        HttpClient httpClient = new HttpClient();
        HttpClientHandler httpClientHandler = new HttpClientHandler();
        var apiInstance = new NfeApi(httpClient, config, httpClientHandler);
        var id = "nfe_3a09406bb4aa449ea4e9a0d282d47237";

        try
        {
            // Baixar o pdf da danfe
            ApiResponse<FileParameter> response = apiInstance.BaixarPdfNfeWithHttpInfo(id);
            byte[] buffer = Encoding.ASCII.GetBytes(response.RawContent);
            MemoryStream ms = new MemoryStream(buffer);
            // Write to file
            FileStream file = new FileStream(@"d:\danfe.pdf", FileMode.Create, FileAccess.Write);
            ms.WriteTo(file);
            file.Close();
            ms.Close();
        }
        catch (ApiException resp)
        {
            Debug.Print("Exception when calling NfeApi.BaixarPdfNfe: " + resp.Message);
            Debug.Print("Status Code: " + resp.ErrorCode);
            Debug.Print(resp.StackTrace);
        }

Em vez de response.RawContent, tente usar response.Data.Content, que é do tipo Stream.

Obrigado pela resposta, mas utilizando response.Data.Content ele gera um arquivo com 1KB e se for tentar abrir dá erro de leitura, utilizando o response.RawContente ele gera um arquivo com 295KB porém ao abrir está em branco, alguma outra idéia?

Como está o seu código, exatamente? Um exemplo de código que funciona é esse:

ApiResponse<FileParameter> response = apiInstance.BaixarPdfNfeWithHttpInfo(id);
using (var fileStream = File.Create(NomeDoArquivo))
{
    response.Data.Content.Seek(0, SeekOrigin.Begin);
    response.Data.Content.CopyTo(fileStream);
}

Ou simplesmente:

FileParameter response = apiInstance.BaixarPdfNfe(id);
using (var fileStream = File.Create(NomeDoArquivo))
{
    response.Content.Seek(0, SeekOrigin.Begin);
    response.Content.CopyTo(fileStream);
}

Deu certo, muito obrigado

Este tópico foi fechado automaticamente 24 horas depois da última resposta. Novas respostas não são mais permitidas.