首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用节点- jsPDF的jspdf服务器端(node.js)使用

使用节点- jsPDF的jspdf服务器端(node.js)使用
EN

Stack Overflow用户
提问于 2015-06-07 14:04:50
回答 5查看 18.4K关注 0票数 8

实际上,我试图在服务器端包含jspdf,然后使用它生成简单的pdf (简单地说是文本"Hello!“)(转到url- get pdf localhost:8080)。现在我面临的第一个问题是

  • 如何包含它/如何在节点中使用jsPDF?
  • 当试图使用npm install node-jspdf安装它时,它会产生以下错误-
代码语言:javascript
复制
> G:\test\myproj>npm install node-jspdf
 node-jspdf@0.0.3 install G:\test\myproj\node_modules\node-jspdf
 sh install.sh

“‘sh”不被识别为内部或外部命令、可操作的程序或批处理文件。国家预防机制错误!Windows_NT 6.1.7601 npm错误!argv "C:\Program Files\nodejs\\node.exe“"C:\Program \nodejs\nodejs\node模块\ npm \bin\npm-cli.js”"install“节点-jspdf”npm ERR!节点v0.12.4 npm错误!npm v2.10.1 npm错误!代码ELIFECYCLE npm错误!节点-jspdf@0.0.3安装:sh install.sh npm ERR!退出状态1 npm错误!国家预防机制错误!在节点-jspdf@0.0.3安装脚本‘shinstall.sh’处失败。国家预防机制错误!这很可能是节点-jspdf包的一个问题,npm!而不是国家预防机制本身。国家预防机制错误!告诉作者,这在您的系统上失败了: npm错误!sh install.sh npm错误!你可以通过: npm错误获得他们的信息!npm所有者ls节点-jspdf npm ERR!上面可能还有额外的日志输出。国家预防机制错误!请包括以下文件与任何支持请求: npm!G:\test\myproj\npm-调试器

有人能帮助我如何将它包含在节点中吗?给出一个4-5行的演示。

EN

回答 5

Stack Overflow用户

发布于 2017-01-27 16:21:33

您实际上可以直接使用jspdf (npm install jspdf而不是npm install node-jspdf)。Jspdf目前(v1.3.2)构建时没有考虑到节点支持,但是您可以像下面这样模拟全局,并使其工作起来。这是一个基本示例,jspdf的所有功能都不可用。

代码语言:javascript
复制
global.window = {document: {createElementNS: () => {return {}} }};
global.navigator = {};
global.html2pdf = {};
global.btoa = () => {};

var fs = require('fs');
var jsPDF = require('jspdf');

var doc = new jsPDF();
doc.text("Hello", 10, 10);
var data = doc.output();

fs.writeFileSync('./document.pdf', data, 'binary');

delete global.window;
delete global.html2pdf;
delete global.navigator;
delete global.btoa;
票数 15
EN

Stack Overflow用户

发布于 2017-12-11 15:01:18

作为对西蒙·本特松所作答复的延伸:

通过将jsPdf的输出发送到编码,我甚至成功地处理了拉丁文1字符:

代码语言:javascript
复制
global.window = {document: {createElementNS: () => {return {}} }};
global.navigator = {};
global.btoa = () => {};

var fs = require('fs');
var jsPDF = require('jspdf');
var encoding = require('encoding')
var doc = new jsPDF();
doc.text("HelloäöüßÄÖÜ©µ®", 10, 10);
var data = doc.output()
var buffer = encoding.convert(data, "Latin_1") 

fs.writeFileSync('./document.pdf', buffer);

delete global.window;
delete global.navigator;
delete global.btoa;
票数 3
EN

Stack Overflow用户

发布于 2015-10-23 15:03:45

我能够在Windows中安装节点-jspdf

  1. 按建议下载并解压jspdf-master.zip
  2. 现在使用以下命令: npm安装

之后,您可以使用npm list查看安装成功。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30694428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档