【发布时间】:2017-02-07 03:01:11
【问题描述】:
此代码完美运行。问题是按钮位于控制更新面板内,这会导致一些问题。但我已经修好了,现在可以工作了。
Dim documentoPDF As New Document(PageSize.A4, 10, 10, 10, 10)
Dim memStream As MemoryStream = New MemoryStream()
Dim writer As PdfWriter = PdfWriter.GetInstance(documentoPDF, memStream)
documentoPDF.Open()
Dim Paragraph1 As Paragraph = New Paragraph("First paragraph")
documentoPDF.Add(New Paragraph(Paragraph1))
documentoPDF.Close()
Dim bytesInStream As Byte() = memStream.ToArray()
memStream.Close()
'Dim memorystreaam As MemoryStream = New MemoryStream(bytesInStream)
Response.Clear()
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "attachment;filename=FileName.pdf")
Response.Buffer = True
Response.Cache.SetCacheability(HttpCacheability.NoCache)
'Response.OutputStream.Write(memStream.GetBuffer(), 0, memStream.GetBuffer().Length)
Response.BinaryWrite(bytesInStream)
Response.End()
【问题讨论】:
-
您的代码在哪些方面不起作用? IE。预期行为是什么,观察到的行为是什么?
-
@mkl 看,我实现了代码,问题是 pdf 从来没有下载到我的电脑上。
-
当您尝试下载时究竟会发生什么?您是否检查了所有相关的日志文件?您是否在调试器中运行过代码?您是否使用过 tcpdump 工具来捕获和分析 Web 流量?
-
您是否使用此代码来响应 ajax 请求?如果是,请不要认为它会起作用......
-
我看到有人使用
writer.CloseStream = False,但我不明白他们为什么要这样做。作为 iText 的原始开发人员,我想知道您为什么添加该行。是故意的吗?还有,memoryStream的目的是什么?
标签: asp.net vb.net pdf model-view-controller itext