【发布时间】:2012-05-29 14:52:51
【问题描述】:
我正在做一个网站,用户在其中输入一个名字,然后按下一个按钮,提示服务器根据提供的信息创建一个pdf文件,然后将文件发送给用户。
我在没有 IIS 的笔记本电脑上测试网站。
我需要 pdf 是希伯来语的,但在希伯来语上找不到带有 vb 的 pdfwrite;相反,我创建了一个 MS Word 文档,然后使用下面的代码将其转换为 pdf。
这在 Firefox、Chrome 和 Safari 上运行良好,但在 Internet Explorer 上,页面会在下载前断开连接。执行create word语句时断开连接。
谁能帮帮我?
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim strname As String
strname = TextBox1.Text.Trim
Dim oword As New word.Application
Dim odoc As New word.Document
oword = CreateObject("word.Application")
odoc = oword.Documents.Add("C:\documents\tamp.dotx")
odoc.Bookmarks.Item("name1").Range.Text = strname
odoc.Bookmarks.Item("name2").Range.Text = strname
odoc.Bookmarks.Item("name3").Range.Text = strname
odoc.Bookmarks.Item("name4").Range.Text = strname
odoc.Bookmarks.Item("name5").Range.Text = strname
odoc.Bookmarks.Item("name6").Range.Text = strname
odoc.ExportAsFixedFormat(Server.MapPath("\neshume.pdf"), 17)
Response.Redirect(Server.MapPath("\neshume.pdf"))
end sub
【问题讨论】:
-
事件日志说什么?
-
我的猜测是它在您创建文件的下一行失败。显然 IE 浏览器中的安全级别与其他浏览器不同,并且不允许访问路径 C:\documents \tamp.dotx
-
Chiwda 那么我能做些什么来纠正这个问题?
-
我认为页眉设置不正确,无法被 IE 接受。您会尝试缩小除 Response.Redirect(Server.MapPath("\neshume.pdf")) 之外的所有代码的问题吗?您是否尝试仅下载 .pdf(地址应为 http://localhost:port/neshume.pdf)?我建议使用@name 向适当的人发送评论回复。
-
@IvanH 我尝试不使用任何其他代码但失败了
标签: asp.net vb.net pdf download ms-word