我想从二进制数据创建一个pdf文件。我环顾四周,通过从数据库中提取数据,使用iTextSharp找到了示例。
但几乎所有这些都展示了如何在浏览器中显示。我想创建一个像这样的文件 pdffromDB.pdf而不是如下所示显示
doc.Close();
Response.BinaryWrite(MemStream.GetBuffer());
Response.End();
MemStream.Close();
如果您能引导我一个允许我创建真实pdf文件的示例,我将非常感激。
由于
答案 0 :(得分:1)
假设您的MemStream已经包含构成有效PDF文件的所有字节,您应该能够通过在Response.BinaryWrite之前添加以下语句来说服访问者的浏览器提示将其保存为文件:
Response.AddHeader("Content-Disposition", "attachment; filename=Whatever.pdf")
顺便说一下,Response.End之后的代码通常不会被执行:由于超出范围,你的MemStream仍将被关闭并在这种情况下处理得很好,但一般来说你应该对待Response.End同样作为Exit Sub,并相应地编码,例如
Using ms As New IO.MemoryStream
...
Response.End()
End Using