2010-08-12 61 views
1

这甚至可能吗?尝试了几种方法,我不知道如何继续。 在VS 2008使用vb.net和iTextSharp的在浏览器中生成pdf的开放代码而不保存到网络服务器/客户端

这是我创建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

我用一个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");