Articles of pdfkit

如何使用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没有被破坏 […]

下载返回的空文件

我正在构build一个node.js + express应用程序,用户将在其中input一些数据,使用pdfkit生成PDF并将文件发送给用户。 我能够成功生成文件,问题是,当我下载生成的文件,它是空的。 我甚至无法打开PDF,读者(预览,macOS本地读者)说,该文件是空的。 我使用下面的代码: var express = require('express'); var router = express.Router(); var guid = require('guid'); var PDFDocument = require('pdfkit'); var fs = require('fs'); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); router.post('/criar', function(req, res, next) { var filename = guid.raw()+'.pdf'; var doc = new […]

获取PDFKit作为base64string

我正在寻找一种方法来获得PDFKit文档的base64string表示forms。 我不能find正确的方法来做到这一点… 这样的事情会非常方便。 var doc = new PDFDocument(); doc.addPage(); doc.outputBase64(function (err, pdfAsText) { console.log('Base64 PDF representation', pdfAsText); }); 我已经尝试blob-stream lib,但它不能在节点服务器上工作(它说, Blob不存在)。 谢谢你的帮助!

PDFKit – 自定义字体 – fs.readFileSync不是一个函数

我正在使用PDFKit作为应用程序。 我只是在浏览器中的HTML文件,使用Javascript(没有Node.js)。 我从GitHub下载了PDFKit: https : //github.com/devongovett/pdfkit/releases 以及Blobstream: https : //github.com/devongovett/blob-stream 我试图包含一个自定义字体,如下所示: doc.registerFont('Custom Font', 'fonts/GOODDP__.TTF'); doc.font('Custom Font').fontSize(fontSize).text($("#text1").val(), xPos, yPos, configObj); 但是我总是得到这个错误: fs.readFileSync is not a function 这是有道理的,因为fs.readFileSync是node.js的一部分,我不使用它。 但是,文档中的示例说这可以在浏览器中使用。 我知道还有一个Browserify选项,但我不知道如何或如果这将有助于在这种情况下

如何:在pdfkit中为nodejs输出欧元符号

是否有可能在pdfkit中显示欧元符号为nodejs而不必embedded外部字体? 我正在使用pdfKit来生成发票,并希望以欧元符号(€)作为我的货币金额的前缀。 我尝试了一些方法,但都没有工作: doc.font('Helvetica-Bold') .fontSize(12) .text('€', 10, 10); // Alt+0128 on keypad doc.font('Helvetica-Bold') .fontSize(12) .text('\u20AC', 10, 10);

pdf工具包可以保存url的图片吗?

我有一个node.js应用程序,我正在使用pdfkit生成PDF文档。 我希望能够在pdf中包含来自url的图片。 我不能将图像保存到文件系统,因为我的运行时环境是只读的,PDF工具包似乎find从文件系统目录中embedded的图像。 有没有一种方法,我可以使用PDF格式的工具包中的url来embedded图像? 这里 这家伙修改了pdfkit以包含该function。

使用PDF承诺在Firebase云端函数中使用

我正在使用PDFMake(PDFKit的变体)使用实时数据库触发器在Firebase云端函数上生成PDF。 该函数从数据库获取所有相关数据,然后将其传递给应该生成PDF的函数。 所有这些都是使用Promises完成的。 一切正常,直到PDF实际生成的点。 以下是我的主事件侦听器中的代码: exports.handler = (admin, event, storage) => { const quotationData = event.data.val(); // We must return a Promise when performing async tasks inside Functions // Eg: Writing to realtime db const companyId = event.params.companyId; settings.getCompanyProfile(admin, companyId) .then((profile) => { return quotPdfHelper.generatePDF(fonts, profile, quotationData, storage); }) .then(() => { console.log('Generation Successful. Pass […]