生成的PDF是空白的

时间:2013-08-14 10:16:52

标签: c# asp.net web-services

 private static void DownloadFile()
        {
            FtpWebRequest reqFTP;
            WebResponse webResponse;
            GetTheResponseFromFTP(out reqFTP, out webResponse, true);

            FtpWebResponse response = (FtpWebResponse)webResponse;

            Stream responseStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(responseStream);

            using (StreamWriter streamWriter =
                  new StreamWriter("d:\\TestUnity.pdf", true))
            {
                streamWriter.WriteLine(reader.ReadToEnd());
            }


            reader.Close();
            response.Close();  
        }

我有以上功能,从FTP位置下载文件。 我正在阅读文本并尝试将其写入本地计算机的文件中。 生成的PDf文件与下载的文件大小相同,但是当我打开文件时它的空白。现在我有两个问题:

  1. 任何人都可以建议如何将下载的文件保存到可以更改的路径中。
  2. 上述问题的原因是什么。

2 个答案:

答案 0 :(得分:1)

来自documentation

  

StreamWriter实现了一个TextWriter,用于将字符写入流

这意味着您尚未创建pdf文件,而是创建了扩展名为* .pdf的文本文件。

有多个实用程序可用于创建pdf

WkHtmlToPDFITextSharp只是两个

答案 1 :(得分:0)

这是非常简单的代码,对我有用

    void GeneratePDF(WebResponse response)
    {
        using (var streamFile = File.Create("E:/JSS.pdf"))
        response.GetResponseStream().CopyTo(streamFile);
    }