Node-Webkit Download PDF
Node-Webkit Download PDF
我正在构建一个node-webkit应用程序,我从一个网站收到下载特定文件的请求。当我发起web服务调用时,我在response.body中返回文件。我试图使用fs api中的示例将pdf保存到我的本地文件夹,即:
(我正在传递响应。Body到data字段,并传递一个字符串'binary'来指定options下的编码)
var options = { encoding: 'binary' };
console.log('File name:' + fileName);
fileOperations.write(fileName, response.body, options, null);
在fileOperations: module.exports = {
write: function (filename, data, options, callback) {
fs.writeFile(filename, data, options, function (err) {
if (err) throw err;
console.log('It''s saved!');
});
}
};
文件以正确的文件名、扩展名和文件大小保存到本地文件夹。然而,当在预览中打开时,每个页面都是空白的。我是否指定了错误的编码类型?
这听起来和我遇到的问题很相似。下载文件(不只是pdf)会产生奇怪的结果。这更可能是你的问题....不是fs函数。而不是使用内置的节点http的东西,我们选择使用Request库(npm Request),并以这种方式执行下载:
request({
method: 'GET',
uri: baseUrl + '/api/v1/documents/versions/contents/doc33',
headers: {"Access-Control-Allow-Origin": baseUrl, "Cookie": cookie}
}, function (error, response, body) {
var contentDisp = response.headers['content-disposition'].split('"');
var ext = contentDisp[1].split('.')[1];
// you can rename the downloaded file (temp) and add the proper extension here...
}).pipe(fs.createWriteStream('temp')); // you can append a directory to the temporary name as well..
}
我想试试这个,看看它是否适合你。跨平台处理文件可能很困难。 从node-webkit应用程序导出pdf文件。首先你需要pdfkit;你可以在这里看到doc .
那么你只需要在js中要求它:
var pdfkit = require('pdfkit');
var fs = require('fs');
你必须像这样使用另存为框:从我的应用程序中的一个例子:
<button id="export">Export</button>
<input style="display:none" id="fileDialog" type="file" class="button small" accept=".pdf" nwsaveas="">
带导出功能:
$('#export').click(function(event) {
chooseFile('#fileDialog');
});
function chooseFile(name)
{
var chooser = $(name);
chooser.change(function(event) {
event.preventDefault();
exp_to = $(this).val(); // where to export
console.log($(this).val());
exporT();
});
chooser.trigger('click');
}
最后=>
function exporT() // export() is already reserved
{
event.preventDefault();
var doc = new pdfkit();
doc.pipe(fs.createWriteStream(exp_to));
doc.fontSize(20) // font size
.text('your text here')//.whatyouwant()
.end();
}
相关文章:
- 如何使用javascript或html下载PDF格式的填写表单
- 如何将PDF作为二进制文件传递到window.open()
- javascript.点击显示嵌入的pdf
- Javascript/Jquery Blob not showing Chrome PDF
- 在提交时打开thankyou.html+下载PDF
- 生成pdf或其他非html文件时的错误处理
- how to convert html <div> to pdf
- 将画布转换为pdf:黑色背景
- 如何在不在本地下载的情况下将url中提供的文件(pdf/doc)转换为json/string/base64格式
- 以PDF附件的形式通过电子邮件发送谷歌文档
- 将Meteor中的base64 PDF作为电子邮件附件
- 无法执行文件.退出Acrobat PDF中的操作
- Chrome.downloads.download在Chrome应用程序中
- 在浏览器中检测本机或第三方PDF插件
- 下载HTML5/Javascript MOBILE应用程序中的PDF文件
- 下载所选语言的pdf文件
- 将网页转换为具有样式的pdf
- highChart pdf download
- javascript multi download pdf ie
- Node-Webkit Download PDF