Articles of pdfkit

如何将页眉和页脚内容添加到用于node.js的pdfkit

我想用节点js(express)生成pdf。 我需要添加页眉和页脚到页码的每一页。 任何帮助,将不胜感激。 谢谢。

npm安装PDFkit失败

我正在尝试使用推荐的命令为node.js安装PDFKit: npm install pdfkit 但是,它会失败并显示以下消息: zlib@1.0.5 preinstall / home / woody / node_modules / pdfkit / node_modules / zlib node-waf clean || 真正; node-waf configure build sh: node-waf: not found sh: node-waf: not found npm ERR! error installing zlib@1.0.5 Error: zlib@1.0.5 preinstall: `node-waf clean || true; node-waf configure build` npm ERR! error installing zlib@1.0.5 `sh […]

PDFKit – 在中心find图像

在node.js上使用PDFKit : var PDFDocument = require('pdfkit') var doc = new PDFDocument() doc.image('images/test.jpeg') 我怎样才能集中一个图像添加到PDF? 使用PDFKit可以select吗?还是需要使用另一个库?

在node.js中使用pdfkit发送HTTP响应

我在一个node.js express 3项目中使用pdfkit 0.6.1。 我想发送PDF作为HTTP响应,而不是将其保存在服务器上。 http://pdfkit.org/docs/getting_started.html上的例子说要使用: # HTTP response doc.pipe fs.createWriteStream(res) # add stuff to PDF here # finalize the PDF and end the stream doc.end() 但是我得到一个错误,说:“500 TypeError:path必须是一个string”

PDFKit,nodeJS合并两个PDF文件

没有人有使用NodeJS的PDFKit的经验。 具体来说,我试图合并2个PDF文档到1,但我似乎无法正确获取两个PDF格式的内容合并的格式。 这就是我所做的: var PDFDocument = require('pdfkit'); var fs = require('fs'); var doc = new PDFDocument(); var fileName = 'test.pdf'; doc.pipe(fs.createWriteStream(fileName)); var file1 = '1.pdf'; var file2 = '2.pdf'; var stream1 = fs.createReadStream(file1); doc.text(stream1); doc.addPage(); var stream2 = fs.createReadStream(file2); doc.text(stream2); doc.end(); 输出test.pdf应该包含一个包含2个pdf格式相同格式的pdf的内容,但是我只能得到2个页面的test.pdf,每个页面包含一行“[Object目的]”。 我似乎无法find如何redirectdoc.text()函数内的stream的内容。 任何想法,我做错了什么,我该如何解决它?

如何将PDFKit可读stream传递到请求的post方法?

我的应用程序需要创build一个PDF文件,然后将其上传到另一台服务器。 上传通过request NPM包中的post方法发生。 一切工作正常,如果我传入一个fs.createReadStream : const fs = require('fs'); const params = {file: fs.createReadStream('test.pdf')}; api.uploadFile(params); 由于PDFKit也实例化了一个读取stream,所以我试图直接把它传递给后面的参数: const PDFDocument = require('pdfkit'); const doc = new PDFDocument(); doc.text('steam test'); doc.end(); const params = {file: doc}; api.uploadFile(params); 但是,这会产生一个错误: TypeError:path必须是一个string。 收到[function] 如果我看PDFKit源代码,我看到(在coffeescript): class PDFDocument extends stream.Readable 我是新来的stream,很明显,我不明白这里的区别。 对我来说,如果它们都是可读的stream,那么它们都应该能够以相同的方式传递。

如何使用PDFkit nodejs在PDF文件中创build灵活的表格

//我正在使用这样的东西来创build一个单元格,但我不知道如何用dynamic数据创build灵活的表格 var doc = new pdfDocument(); doc.lineCap('square') .moveTo(250, 20) .circle(275, 30, 15) .stroke()

PDF页面大小在节点js中使用pdfkit不会改变

我正在使用pdfkit模块在节点js中创buildpdf文档。 我无法改变PDF文件的页面大小。 我试了下面的代码..即使它不工作。 var PDFDocument = require('pdfkit'); var doc = new PDFDocument; doc.addPage size: 'legal' layout: 'landscape' doc.addPage size: [612.00 * 1008.00] layout: 'landscape' 请为这个问题提出一些想法..

如何使用node.js中的pdfkit使用项目符号列表创build文本?

我从昨天起一直在工作,以PDF格式生成报告。 我已经通过pdfkit模块。 这似乎很酷使用。 我的要求是用项目符号列出文本。 我已经试过了 var doc = new PDFDocument(); doc.pipe(fs.createWriteStream('userReport.pdf')); doc.fillColor("#B22222") .fontSize(25) .text('Users Count', 250,60) .moveDown(0.5); 它创造的文字,但我想要的文本与子弹。 这个怎么做?

用Node.js处理大stream

这里是我尝试使用节点和imagemagick转换工具将svgstring转换为png缓冲区。 然后使用pdfkit使用png缓冲区在pdf中绘制图像。 Td; lr我有一个大的svgstring,需要进入一个subprocess“整体”(即不分块)。 我该怎么做? 这是一个适用于小文件的例子。 var child_process = require('child_process'); var pdfDocument = require('pdfkit'); var convert = child_process.spawn("convert", ["svg:", "png:-"]), svgsrc = '<svg><rect height="100" width="100" style="fill:red;"/></svg>'; convert.stdout.on('data', function(data) { console.log(data.toString('base64') doc = new pdfDocument() doc.image(data) } convert.stdin.write(svgsrc); convert.stdin.end() 当svgstring是'small'时(如在示例中提供的那样),这是有效的 – 我不确定从小到大的切断位置。 但是,当试图使用更大的svgstring(你可能使用D3生成的东西)像这样[ 大string ]。 我碰到: 错误:不完整或损坏的PNG文件 所以我的问题是:如何确保convertsubprocess在处理之前读取整个stream? 有几件事是已知的: PNG缓冲区确实是不完整的 。 我使用了diff工具来检查应用程序生成的base64string与png-to-svg转换器的base64在线。 未损坏的string比损坏的string大得多。 (对不起,我没有更具体的文件大小)。 也就是说,转换工具似乎在任何时候都不会读取整个源文件。 源svgstring没有被破坏 […]