使用pdfreactor

时间:2017-03-27 08:32:46

标签: javascript pdf-reactor

function convertToPDF() {
               console.log("convertToPDF enters");
               var pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest");
               console.log("convertToPDF enters 1");
               var content = '<html><body><img src="/wps/wcm/myconnect/57444c38-84eb-4f37-b5c5-1dc901d400c0/1/logo.png?MOD=AJPERES&amp;CACHEID=ROOTWORKSPACE-57444c38-84eb-4f37-b5c5-1dc901d400c0/1-lIeengm" alt="" title=""><br>'+document.getElementById("right-col").innerHTML+'</body></html>';
               console.log("convertToPDF enters 2");
               var config = {                   
                    'document': content,                         
                }
                pdfReactor.convert(config, function(result) {
                    console.log("convertToPDF enters 3");
                    document.getElementById("right-col").innerHTML += '<iframe id="result" style="display:none;"></iframe>';
                    document.getElementById("result").src = "data:application/pdf;base64," + result.document;
                }
}

我需要将html转换为pdf。因为我正在使用pdfreactor。我能够生成包含实际文本的正文内容的pdf。但是当我试图将图像转换为身体时。我收到错误。**无法加载资源:服务器响应状态为500(服务器错误)**。基本上我想将图像转换为PDF格式。

1 个答案:

答案 0 :(得分:0)

响应代码500可能表示已达到转换时间限制。用于评估的PDFreactor Cloud Service会在超过30秒的时间内自动终止转换。 您可以在代码中添加错误处理程序以获取服务器返回的完整错误消息:

pdfReactor.convert(config, function(result) {
    //success
}, function(error) {
    console.log(error)
};

此外,源文档中的图像元素包含相对URL。您的HTML输入是一个字符串,在这种情况下,PDFreactor需要绝对图像URL或绝对基本URL才能解析相对资源URL。因此,您可以将图像URL更改为绝对URL,也可以指定绝对基本URL,如下所示:

config = {
    'document': content,
    'baseURL': 'http://myServer/'
}