none
Javascript to VBA Access RRS feed

  • Question

  •        

    This javascript code is generating a PDF file with json, i wlould like to do that with a button from access, but i don't know how to do that, the IdDocument_ is a variable.

        function init() {
                    testHttp();
                }

                function testHttp() {
            var json= '{"ACTIONS": [{"ACTION": {"NAME": "PDF", "TYPE": "DOWNLOAD", "VALUE": "PDF"}, "PARAMS": [{"NAME": "IdClient_", "TYPE": "I", "VALUE": -1},'+
                      ' {"NAME": "IdAdherent_", "TYPE": "I", "VALUE": -1},{"NAME": "IdDocument_", "TYPE": "I", "VALUE":  28080}, {"NAME": "FILENAME_", "TYPE": "S", "VALUE": "PDF.PDF"}, {"NAME": "ZIP_", "TYPE": "S", "VALUE": "U"}]}]}'

                    // Simple call to server
                    var r = new XMLHttpRequest;
                    r.onload = function (e) {
                        if ((r.readyState === 4) && (r.status === 200)) {
                            var myBuffer = arrayBufferToString(this.response);
                            writeToScreen(myBuffer);
                            //
                        }
                    };
                    r.open("POST", "http://196.92.5.179:8000/JNNJ", true);
                    r.responseType = "arraybuffer";
                    r.send(json);
                }


                function arrayBufferToString(ab) {
                    var chunk = 8192;
                    var len = ab.byteLength;
                    var u8 = new Uint8Array(ab);
                    if (len < chunk) {
                        return String.fromCharCode.apply(null, u8);
                    } else {
                        var k = 0,
                            r = "";
                        while (k < len) {
                            r += String.fromCharCode.apply(null, u8.subarray(k, k + chunk));
                            k += chunk;
                        }
                        return r;
                    }
                }
                function downloadPdf(fileName,output) {
                    output.innerHTML="<h1>Download or save file: ---->"+fileName+"...</h1>";
                    var f = 'http://196.92.5.179:8000/DOWNLOAD?FileName='+encodeURIComponent(fileName);
                    window.open(f, '_self');
                }


                function writeToScreen(message) {
                    var pre = document.createElement("p"),doc;
                    pre.style.wordWrap = "break-word";
                    pre.innerHTML = message;
    doc=JSON.parse(message)
                    downloadPdf(doc.PDF.Data,pre );

                }

                                                                    
    Monday, October 15, 2018 8:55 AM