Node.js: 通过 pdfmake 将 SVG 添加到 PDF 的特定页面
Node.js: Adding SVG to a specific page of PDF by pdfmake
我正在尝试通过 pdfmake 创建 PDF 内容。但是,pdfmake 不支持在 v0.1.38 中添加 SVG。
所以我使用 SVG-to-PDFKit 来实现。这是我的代码:
var printer = new pdfMakePrinter(fontDescriptors);
var doc = printer.createPdfKitDocument(pdfDoc);
SVGtoPDF(doc, s.data, s.x, s.y, s.options); // add this line for SVG-to-PDFKit to insert SVG while s contain SVG data
var chunks = [];
var result;
doc.on('data', function(chunk) {
chunks.push(chunk);
});
doc.on('end', function() {
result = Buffer.concat(chunks);
resolve(result);
});
doc.end();
SVG 已成功添加到最后一页。如何将 SVG 添加到特定页面?
阅读源代码和document后,添加{ bufferPages: true }
完美解决您的需求。
var printer = new pdfMakePrinter(fontDescriptors);
var doc = printer.createPdfKitDocument(pdfDoc, { bufferPages: true }); // magic here!
doc.switchToPage(x); // to page x, where x start from 0
SVGtoPDF(doc, s.data, s.x, s.y, s.options); // add this line for SVG-to-PDFKit to insert SVG while s contain SVG data
var chunks = [];
var result;
doc.on('data', function(chunk) {
chunks.push(chunk);
});
doc.on('end', function() {
result = Buffer.concat(chunks);
resolve(result);
});
doc.end();
我正在尝试通过 pdfmake 创建 PDF 内容。但是,pdfmake 不支持在 v0.1.38 中添加 SVG。 所以我使用 SVG-to-PDFKit 来实现。这是我的代码:
var printer = new pdfMakePrinter(fontDescriptors);
var doc = printer.createPdfKitDocument(pdfDoc);
SVGtoPDF(doc, s.data, s.x, s.y, s.options); // add this line for SVG-to-PDFKit to insert SVG while s contain SVG data
var chunks = [];
var result;
doc.on('data', function(chunk) {
chunks.push(chunk);
});
doc.on('end', function() {
result = Buffer.concat(chunks);
resolve(result);
});
doc.end();
SVG 已成功添加到最后一页。如何将 SVG 添加到特定页面?
阅读源代码和document后,添加{ bufferPages: true }
完美解决您的需求。
var printer = new pdfMakePrinter(fontDescriptors);
var doc = printer.createPdfKitDocument(pdfDoc, { bufferPages: true }); // magic here!
doc.switchToPage(x); // to page x, where x start from 0
SVGtoPDF(doc, s.data, s.x, s.y, s.options); // add this line for SVG-to-PDFKit to insert SVG while s contain SVG data
var chunks = [];
var result;
doc.on('data', function(chunk) {
chunks.push(chunk);
});
doc.on('end', function() {
result = Buffer.concat(chunks);
resolve(result);
});
doc.end();