【发布时间】:2018-11-11 07:28:39
【问题描述】:
我正在开发一个需要使用pdfmakelibrary 生成PDF 的Web 应用程序。
在客户端运行它(用于打印)时我没有问题,但我无法使用node.js 让它在服务器端工作(将我的 pdf 保存在服务器上)。
我的服务器在linux 上运行,node.js 和npm 已正确安装。
我还使用sudo npm i pdfmake 安装了pdfmake 包。该模块似乎已正确安装,因为它在使用 npm ls 时列出。
然后我尝试运行一个简单的脚本来生成一个基本的 pdf:
var pdfmake = require('pdfmake');
var fonts = {
Roboto: {
normal: 'fonts/Roboto-Regular.ttf',
bold: 'fonts/Roboto-Medium.ttf',
italics: 'fonts/Roboto-Italic.ttf',
bolditalics: 'fonts/Roboto-MediumItalic.ttf'
}
};
var PdfPrinter = require('../src/printer');
var printer = new PdfPrinter(fonts);
var fs = require('fs');
var docDefinition = {
content: [
'First paragraph',
'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines'
]
};
var pdfDoc = printer.createPdfKitDocument(docDefinition);
pdfDoc.pipe(fs.createWriteStream('pdfs/basics.pdf'));
pdfDoc.end();
执行 (sudo node pdftest.js) 这个脚本时返回以下错误:Error: Cannot find module '../src/printer'
对我来说,这个/printer 文件夹应该位于pdfmake 文件夹中,所以我不应该出现这个错误。
我试图通过再次运行sudo npm i pdfmake 来重新安装该软件包,但它并没有改变任何东西。
另外,这是我安装它时得到的:
/home/odroid
`-- pdfmake@0.1.36
`-- linebreak@0.3.0
`-- brfs@1.6.1
`-- static-module@2.2.5
`-- falafel@2.1.0
`-- acorn@5.6.1
npm WARN enoent ENOENT: no such file or directory, open '/home/odroid/package.json'
npm WARN odroid No description
npm WARN odroid No repository field.
npm WARN odroid No README data
npm WARN odroid No license field.
有人遇到过这个问题吗?你能帮我吗 ? 谢谢 !
【问题讨论】:
标签: javascript node.js npm pdf-generation pdfmake