我尝试从本地数据生成pdf。

我在ArrayBuffer()和Uint8Array对象上遇到了问题。解决方案是添加我在互联网上找到的js实现。

现在这行有一个错误:

E/Web Console(21515): Uncaught TypeError: Illegal constructor at file:///android_asset/www/libs/jspdf.js:973

这是一行:

blob = new Blob([array], {type: "application/pdf"});

我添加了BlobBuilder.js和Blob.js(就像jspdf示例中一样)。

总的来说,用jspdf可以做到吗? (我发现jspdf有很多问题)

我怎么解决这个问题?

我该怎么做才能在浏览器,Android和iOS上生成PDF。

感谢您的帮助,祝您有美好的一天:-)

最佳答案

try
{
    blob = new Blob([data], {type: "application/pdf"});
    console.debug("case 1");
}
catch (e)
{
    window.BlobBuilder = window.BlobBuilder ||
                   window.WebKitBlobBuilder ||
                      window.MozBlobBuilder ||
                      window.MSBlobBuilder;
    if (e.name == 'TypeError' && window.BlobBuilder)
    {
        var bb = new BlobBuilder();
        bb.append(data);
        blob = bb.getBlob("application/pdf");
        console.debug("case 2");
    }
    else if (e.name == "InvalidStateError")
    {
         // InvalidStateError (tested on FF13 WinXP)
         blob = new Blob([array], {type: "application/pdf"});
         console.debug("case 3");
    }
    else
    {
        // We're screwed, blob constructor unsupported entirely
        console.debug("Errore");
    }
}

关于javascript - 在基于phonegap的应用程序上使用jspdf生成客户端pdf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18596005/

10-10 09:57