Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iTextSharp生成PDF,编译并运行时没有错误,但没有出现PDF_C#_Visual Studio 2008_Itextsharp - Fatal编程技术网

C# iTextSharp生成PDF,编译并运行时没有错误,但没有出现PDF

C# iTextSharp生成PDF,编译并运行时没有错误,但没有出现PDF,c#,visual-studio-2008,itextsharp,C#,Visual Studio 2008,Itextsharp,我尝试了许多不同的变体,从内存中输出一个非常基本的PDF,但似乎都返回相同的结果,也就是说它实际上没有返回任何东西。代码编译并运行时不会出错,但当VS完成处理代码时,不会发生任何事情 我正在使用VS2008和iTextSharp v5.1.1 有人有什么建议吗 以下是我当前状态下的代码: MemoryStream ms = new MemoryStream(); Document doc = new Document(); PdfWriter writer

我尝试了许多不同的变体,从内存中输出一个非常基本的PDF,但似乎都返回相同的结果,也就是说它实际上没有返回任何东西。代码编译并运行时不会出错,但当VS完成处理代码时,不会发生任何事情

我正在使用VS2008和iTextSharp v5.1.1

有人有什么建议吗

以下是我当前状态下的代码:

MemoryStream ms = new MemoryStream();           
Document doc = new Document();        
PdfWriter writer = PdfWriter.GetInstance(doc, ms);
writer.CloseStream = false;

doc.Open();
doc.Add(new Paragraph("Test Content"));
doc.Add(new Paragraph(DateTime.Now.ToString()));
doc.Close();

Response.ContentType = "application/pdf";
Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
Response.OutputStream.Flush();            
Response.OutputStream.Close();
ms.Close();

我很早就学到了一件事,不要使用
GetBuffer()
,使用
ToArray()
。见此帖:


我找到了导致问题的原因,代码出现在一个按钮点击事件中,按钮控件位于ajax更新面板中,当我将按钮移到更新面板外时,它就工作正常了。不确定这是我的一个基本错误还是更新面板的一个bug,所以我要去阅读一下


@Mark Storer,我现在意识到这不是一个非常尖锐的问题,但是当我写这篇文章时,我相信这是一个问题,我为这个错误向所有人道歉。

这里有一个很好的工作版本:。也许值得你将你的尝试与它进行比较,看看你是否遗漏了什么。我不记得iTextSharp是否会写入错误日志-如果是的话,可能也值得检查一下。嗨,非常感谢你的建议。有一些不同,不幸的是,没有一个对我收到的结果产生任何影响。这个问题可能与我使用的浏览器有关吗?我目前正在运行IE9,但无法在其他浏览器中进行测试,因为该网站已被编写为仅针对IE的浏览器。我认为如果可以,可能值得在其他浏览器中进行测试,但我认为这更可能是服务器端问题。您的代码是否抛出任何异常?你能在调试器中单步执行它吗?您可以查看错误日志吗?好的,代码不会抛出任何异常,并且我已经多次检查过它(每次我实际上更改了某些内容),这就是为什么它非常混乱的原因。似乎没有任何日志,我也看不到任何日志。我正在使用第三方日志记录,但由于VS没有抛出任何错误,这些日志是清晰的。编辑:我已设法在Chrome中进行测试,这导致了完全相同的问题。感谢您的回复,我刚刚尝试了这一点,没有任何区别。我确信这与IIS有关,而与代码无关,因为代码的所有变体似乎都以相同的结果结束。我已经检查了mimetypes并允许文件名扩展,但至少还有其他东西。有一个发展。。。我刚刚在我的本地机器上创建了一个全新的网站来测试代码,很有效!但由于某种原因,它在我的实际项目中不起作用。那么这不是一个iText问题,而是一个
响应问题。我建议你适当地重新标记。