【问题标题】:Sending HTML/CSS code to the server to be converted into PDF将 HTML/CSS 代码发送到服务器以转换为 PDF
【发布时间】: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 中的单个变量中并将其发送到服务器?

【问题讨论】:

    标签: c# html ajax


    【解决方案1】:

    检查一下:

    看看 WKHTMLTOPDF 。它是开源的,基于 webkit 并且是免费的。

    https://stackoverflow.com/a/1357499/5131888

    http://wkhtmltopdf.org/

    【讨论】:

      猜你喜欢
      • 2012-12-23
      • 1970-01-01
      • 2019-09-04
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 2021-06-21
      • 2016-12-06
      相关资源
      最近更新 更多