1

我想从二进制数据创建一个 pdf 文件。我环顾四周,通过从数据库中获取数据找到了使用 iTextSharp 的示例。

但几乎所有这些都显示了如何在浏览器中显示。我想创建一个像 pdffromDB.pdf 这样的文件,而不是如下所示的显示

doc.Close();
Response.BinaryWrite(MemStream.GetBuffer());
Response.End();
MemStream.Close();

如果您能指导我参考一个允许我创建真正的 pdf 文件的示例,我将不胜感激。

谢谢

4

1 回答 1

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
于 2009-10-11T14:41:27.937 回答