问题描述
我正在使用以下代码生成 PDF。目前,我现在能够生成大约 38 页的 PDF。然而,pdf的内容通常超过38页,一旦超过,PDF就会损坏。
请提供解决方案的建议。
server.js 代码
function createPdfBinary(pdfDoc,callback) {
var 字体 = { 导游: { 正常:“快递”, 粗体:'Courier-Bold', 斜体:'Courier-Oblique', 粗体字:'Courier-Boldoblique' },黑体字:{ 正常:'Helvetica', 粗体:'Helvetica-Bold', 斜体:'Helvetica-Oblique', 粗体字:'Helvetica-Boldoblique' },次数:{ 正常:'时代-罗马', 粗体:'时代-粗体', 斜体:'时代-斜体', 粗体字:'Times-BoldItalic' },象征: { 正常:'符号' },ZapfDingbats:{ 正常:'ZapfDingbats' },机器人:{ 正常:path.join(__dirname,'/node_modules/roboto-fontface/fonts/roboto/Roboto-Regular.woff'),粗体:path.join(__dirname,'/node_modules/roboto-fontface/fonts/roboto/Roboto-Medium.woff'),斜体:path.join(__dirname,'/node_modules/roboto-fontface/fonts/roboto//Roboto-Italic.woff'),粗体: path.join(__dirname,'/node_modules/roboto-fontface/fonts/roboto/Roboto-MediumItalic.woff') } };
var printer = new pdfMakePrinter(fonts);
var doc = printer.createPdfKitDocument(pdfDoc);
var chunks = [];
var result;
doc.on('data',function (chunk) {
chunks.push(chunk);
});
doc.on('end',function () {
result = Buffer.concat(chunks);
//callback('data:application/pdf;base64,' + result.toString('base64'));
callback(result);
});
doc.end();
}
app.post('/pdf',function (req,res) {
dd = JSON.parse(req.body);
//console.log(dd)
var pdfutil = new pdfUtil.PDFUtility("","");
var docDef = pdfutil.getDocumentDeFinition(dd);
createPdfBinary(docDef,function (binary) {
res.contentType('application/pdf');
res.send(binary);
},function (error) {
res.send('ERROR:' + error);
});
});
var server = http.createServer(app);
var port = process.env.PORT || 1234;
server.listen(port);
console.log('http server listening on %d',port);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)