在QuickBooks Online中生成发票PDF

时间:2017-09-01 08:37:24

标签: node.js pdf quickbooks-online

大家好我正在使用QuickBooks在线试用版。 我在生成发票PDF时遇到问题。

我正在尝试将其API的响应转换为Base64并将其存储在Buffer中。

并从他们的网站下载发票的pdf并获得响应并将其存储到缓冲区中,但两个缓冲区值都不同。

这是我的代码: -

router.get('/pdf',async function (req, res) {

var pdf = await qbfun.getPdf();
res.contentType("application/pdf");
var base64data = new Buffer(pdf, 'binary').toString('base64');
var apidata = new Buffer(base64data, 'base64');

var filePath = "/invoice212.pdf";
console.log('__dirname', __dirname)
fs.readFile(__dirname + filePath , function (err,data){
    console.log("==============================")
    console.log("From api",apidata)
    console.log("==============================")
    console.log("==============================")
    console.log("From File",data)
    console.log("==============================")
    res.send(apidata);
});
})

exports.getPdf = async function() {
var id = '212'
var url = config.api_uri + "123145873158439" + "/invoice/" + id + 
"/pdf"
console.log('Making API call to: ' + url)
var requestObj = {
url: url,
headers: {
  'Authorization': 'Bearer ' + token,
  'Content-Type' : 'application/pdf'
}
}

// Make API call
var result = await make_api_call (requestObj)
var data = result.body
return data;
}

结果将如下: - Here you can see buffer values

0 个答案:

没有答案