如何使用jszip压缩pdf或ppt文件?

时间:2014-02-28 09:16:54

标签: javascript zip jszip

我想使用jszip压缩pdf或其他格式,如excel,ppt等。

如何在jszip中压缩此格式?

我的代码如下

<BODY>
  <a id ='file' href="data/some.pdf" type="application/pdf; length=432628">Some.pdf</a>
  <input id="button" type="button" onclick="create_zip()" value="Create Zip"></input>
</BODY>
<SCRIPT>
        function create_zip() {
        var data = document.getElementById('file');
            var zip = new JSZip();
            zip.add(data, {base64: true});
            content = zip.generate();
            location.href = "data:application/zip;base64," + content;
        }
</SCRIPT>

我想要的是我将从html中的a元素获取文件的路径。我想用jszip压缩pdf

jsfiddle

1 个答案:

答案 0 :(得分:0)

JSZipUtils可能对您有用。这是文档的示例:

JSZipUtils.getBinaryContent("path/to/picture.png", function (err, data) {
    if(err) {
        throw err; // or handle the error
    }
    var zip = new JSZip();
    zip.file("picture.png", data, {binary:true});
}

可以轻松适应您的情况:

function create_zip() {
    var url = document.getElementById('file').href;
    JSZipUtils.getBinaryContent(url, function (err, data) {
        if(err) {
            throw err; // or handle the error
        }
        var zip = new JSZip();
        zip.file("Some.pdf", data, {binary:true});
        content = zip.generate();
     }
}