PDFKit 是一个用于Node和浏览器的PDF文档生成库,可以轻松创建复杂的多页面可打印文档。 API包含可链接性,包括低级功能以及更高级功能的抽象。 PDFKit API设计简单,因此生成复杂文档通常与一些函数调用一样简单。
主要特性:
安装:npm install pdfkit
示例代码:
const PDFDocument = require('pdfkit'); // Create a document const doc = new PDFDocument; // Pipe its output somewhere, like to a file or HTTP response // See below for browser usage doc.pipe(fs.createWriteStream('output.pdf')); // Embed a font, set the font size, and render some text doc.font('fonts/PalatinoBold.ttf') .fontSize(25) .text('Some text with an embedded font!', 100, 100); // Add an image, constrain it to a given size, and center it vertically and horizontally doc.image('path/to/image.png', { fit: [250, 300], align: 'center', valign: 'center' }); // Add another page doc.addPage() .fontSize(25) .text('Here is some vector graphics...', 100, 100); // Draw a triangle doc.save() .moveTo(100, 150) .lineTo(100, 250) .lineTo(200, 250) .fill("#FF3300"); // Apply some transforms and render an SVG path with the 'even-odd' fill rule doc.scale(0.6) .translate(470, -380) .path('M 250,75 L 323,301 131,161 369,161 177,301 z') .fill('red', 'even-odd') .restore(); // Add some text with annotations doc.addPage() .fillColor("blue") .text('Here is a link!', 100, 100) .underline(100, 100, 160, 27, {color: "#0000FF"}) .link(100, 100, 160, 27, 'http://google.com/'); // Finalize PDF file doc.end();