Vb.net 使用itextSharp从二进制数据创建pdf文件

Vb.net 使用itextSharp从二进制数据创建pdf文件,vb.net,itextsharp,Vb.net,Itextsharp,我想从二进制数据创建一个pdf文件。我环顾四周,通过从数据库中获取数据找到了使用iTextSharp的示例 但几乎所有这些都显示了如何在浏览器中显示。我想创建一个像这样的文件 pdffromDB.pdf,而不是显示如下所示 doc.Close(); Response.BinaryWrite(MemStream.GetBuffer()); Response.End(); MemStream.Close(); 如果你能给我举个例子,让我创建一个真正的pdf文件,我将不胜感激 谢谢假设您的MemSt

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

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

doc.Close();
Response.BinaryWrite(MemStream.GetBuffer());
Response.End();
MemStream.Close();
如果你能给我举个例子,让我创建一个真正的pdf文件,我将不胜感激


谢谢

假设您的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

假设您的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