您好我正在开发一个 MVC3 Razor项目,我已经坚持这个问题几个小时了......
我正在尝试使用html to pdf转换器向用户提供文档...
我想要的是以下......
呈现并显示页面。在页面的底部应该有一个小图标显示类似下载为pdf。这是我的问题所在......
我想要的所有数据都是在$("#content").html();
所以我试过的是一个jquery / ajax函数将$("#content").html();
作为参数传递给我的函数,它创建了pdf(但我不知道如何向用户提示创建的文件?)
其他解决方案是@(Html.ActionLink())
,但我不知道如何在该链接中传递数据($("#content").html())
?
当尝试使用functionallity来使用转换器转到url是一个死胡同,因为它有自己的会话并被重定向到登录页面。
任何帮助都会得到满足!
答案 0 :(得分:0)
为什么只创建一个函数,将创建的PDF(在ajax请求期间)作为文件结果返回,然后在ajax请求成功完成后设置窗口的位置以指向此操作?
编辑:这意味着您不会在任何地方保存PDF。因此,解决方法是使用此jquery download plugin或动态附加iframe,然后通过它发布数据。希望这可以帮助。
答案 1 :(得分:0)
我不熟悉JavaScript,但是如果您首先通过调用Web服务方法将PDF保存在临时文件中,然后在完成后可以使用JavaScript导航到生成的PDF将作为返回的URL内容。
答案 2 :(得分:0)
由于XmlHTTPRequest
对象无法处理html
,text
,json
,jsonp
和xml
以外的数据类型,因此您需要重定向到pdf位置。
我不确定你在Ajax请求中到底做了什么,但是一旦完成,你就可以将窗口(Form-Action)重定向到创建的PDF的位置。这实际上不会重定向浏览器,只会提示保存文件。
答案 3 :(得分:0)
找出一个解决方法,我所做的是为我的HtmlHelper编写扩展,并使用它将我的控件呈现为html字符串而不是视图。因此,我可以使用actionlink来渲染此页面并以此方式获取所有html数据。
http://msug.vn.ua/Posts/Details/3301
谢谢你的帮助!