【发布时间】:2015-10-10 06:51:56
【问题描述】:
我正在使用一个名为 GemBoxDocument 的工具,它可以用来将 html 文件转换为 pdf 文件。
他们网站上的示例代码显示了如何转换服务器上存在的实际文件 (source):
using System;
using System.Linq;
using System.Text;
using GemBox.Document;
using GemBox.Document.Tables;
class Sample
{
[STAThread]
static void Main(string[] args)
{
// If using Professional version, put your serial key below.
ComponentInfo.SetLicense("FREE-LIMITED-KEY");
DocumentModel document = DocumentModel.Load("Reading.html");
document.Save("Convert.pdf");
}
}
但是,就我而言,我希望能够转换已在浏览器中加载并可能已被编辑的页面。
到目前为止,我已经考虑通过 ajax 调用发送 HTML 内容,如下所示:
$.ajax({
url: 'convertToPDF',
type: 'POST',
data: {
html: $("#page").html()
},
success: function (data) {
}
});
"#page" 是整个页面的 html 包装器,包括加载的 CSS 脚本和图像。
我最初的想法是我会将 html 代码发送到服务器,创建一个临时文件,然后将其作为参数传递给 .Load() 函数。
但是我不认为我这样做是正确的。 #page 具有外部引用的 CSS 和图像,我认为它们不会传递到服务器。所以我的问题是,我怎样才能 ALL 将加载页面的内容放入 javascript 中的单个变量中并将其发送到服务器?
【问题讨论】: