2

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

4

1 に答える 1

1

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();
     }
}
于 2015-07-29T08:12:33.277 に答える