打开代码在浏览器中生成pdf而不将其保存到webserver / client

时间:2010-08-12 13:49:20

标签: vb.net pdf

这甚至可能吗?尝试了几种方法,我不知道如何继续。 在vs 2008和itextsharp中使用vb.net

这是我创建pdf的代码..还有很多代码可以填充它

    Dim doc As New Document(iTextSharp.text.PageSize.LETTER, 90, 80, 80, 90)
    Try

        PdfWriter.GetInstance(doc, New FileStream(Server.MapPath("PDF.pdf"),FileMode.Create))

但这可以保存pdf ..我可以用其他任何方式吗?

1 个答案:

答案 0 :(得分:1)

我使用MemoryStream来组装PDF(抱歉在C#中,但应该很容易转换):

public byte[] GetPDF()
{
    using (MemoryStream ms = new MemoryStream())
    {
        Document document = new Document(PageSize.A4, 38f, 30f, 15f, 35f);
        PdfWriter writer = PdfWriter.GetInstance(document, ms);
        ...
        document.Close();
        return (ms.GetBuffer());
    }
}

然后你可以提供一个字节流回到你的响应流,在MVC中我用FileResult返回如下:

return File(GetPDF(), System.Net.Mime.MediaTypeNames.Application.Pdf, "generated.pdf");