Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >nodejs上的wkhtmltopdf生成损坏的pdfs。

nodejs上的wkhtmltopdf生成损坏的pdfs。
EN

Stack Overflow用户
提问于 2013-12-21 05:46:08
回答 1查看 2.7K关注 0票数 0

我使用wkhtmltopdf在nodejs中生成pdfs。

下面是我生成pdf的示例代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var  wkhtmltopdf = require('wkhtmltopdf')
    , createWriteStream = require('fs').createWriteStream;

 var r =  wkhtmltopdf('http://www.google.com', { pageSize: 'letter' })
            .pipe(createWriteStream('C:/MYUSERNAME/demo.pdf'));

        r.on('close', function(){
            mycallback();
        });

上面的代码正在生成损坏的pdfs。我想不出这个问题。虽然当我使用命令提示符生成pdfs时,它的生成是正确的,就像在windows命令提示符中使用下面的代码一样。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wkhtmltopdf http://www.google.com demo.pdf 

我得到了正确的pdf生成,可悲的是,当我试图在节点环境中生成pdf时,它会生成损坏的pdfs。

万一它有助于我使用wkhtmltopdf 0.11.0 rc2

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-21 07:02:25

wkhtmltopdf用于节点有一个用于windows的bug,因此您可以编写一个新的。

如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function wkhtmltopdf(input, pageSize) {
    var spawn = require('child_process').spawn;

    var html;

    var isUrl = /^(https?|file):\/\//.test(input);
    if (!isUrl) {
        html = input;
        input = '-';
    }

    var args = ['wkhtmltopdf', '--quiet', '--page-size', pageSize, input, '-']
    if (process.platform === 'win32') {
        var child = spawn(args[0], args.slice(1));
    } else {
        var child = spawn('/bin/sh', ['-c', args.join(' ') + ' | cat']);
    }

    if (!isUrl) {
        child.stdin.end(html);
    }

    return child.stdout;
}

// usage:

createWriteStream = require('fs').createWriteStream;

wkhtmltopdf('http://google.com/', 'letter')
    .pipe(createWriteStream('demo1.pdf'));

wkhtmltopdf('<body>hello world!</body>', 'letter')
    .pipe(createWriteStream('demo2.pdf'));

注意事项:现在是‘’不是{ pageSize:‘pageSize’}

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

https://stackoverflow.com/questions/20719650

复制
相关文章
java调用wkhtmltopdf生成pdf文件,美观,省事
最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果,
大道七哥
2019/09/10
5.1K1
java调用wkhtmltopdf生成pdf文件,美观,省事
ASP.NET指定页面转PDF、JPG(插件)
转PDF、JPG插件(wkhtmltox-0.12.4_msvc2015-win64.exe)
小语雀网
2022/05/06
1.8K0
wkhtmltopdf入门
在进行网页开发中,有时会遇到需要将网页内容转换为PDF格式的需求,这时候我们可以使用​​wkhtmltopdf​​工具来实现。本篇文章将介绍​​wkhtmltopdf​​的基本用法和常见问题。
大盘鸡拌面
2023/10/25
1.5K0
linux wkhtmltopdf install
download: https://wkhtmltopdf.org/downloads.html
刀枪不入de王二花
2022/09/30
6000
在线文档电子书化
在网上看到某技术产品的文档,想把文档弄下来在电子书阅读器上离线看,可发现这个技术文档没有提供pdf等电子书格式,于是想办法自己做一个,这里记录一下。
jeremyxu
2019/03/15
1.4K0
在 Linux 上查找和删除损坏的符号链接
符号链接(symbolic link)在 Linux 系统上扮演了非常有用的角色。它们可以帮助你记住重要文件在系统上的位置,使你更容易访问这些文件,并让你不必为了更方便访问大文件而复制它们,从而节省了大量的空间。
用户9104802
2021/11/22
2.7K0
Go每日一库之149:PDF处理相关库
使用qpdf进行强制解密,有些情况是可以解密成功的,但是有些情况也不一定能解密成功
luckpunk
2023/10/02
2.3K0
nodejs生成多层目录和生成文件的通用方法
/** *生成多层目录 * @param dir 多层目录 * @param split 分隔符,ex:'/' 对应的目录地址:'2015/10/10' * @param mode 目录权限(读写权限),默认0777 * @param callback */ var createDirsSync = function (dir, split, mode, callback) { console.log("创建目录:" + dir); if (!fs.existsSync(dir)
磊哥
2018/05/08
8370
nodejs中生成uuid
nodejs中有一个uuid的生成库uuid:https://www.npmjs.com/package/uuid,使用起来非常简单。
ccf19881030
2020/11/06
7.2K0
error: wkhtmltopdf ContentNotFoundError
#Exit with code 1 due to network error: ContentNotFoundError
刀枪不入de王二花
2022/08/17
1.3K0
error: wkhtmltopdf ContentNotFoundError
将自己的nodeJS项目分享到npm上
在项目中输入cmd 第三种:使用按住电脑上的window+r,进入如下图所示,然后输入cmd,点击确定进入控制台
_kyle
2020/08/24
7270
将自己的nodeJS项目分享到npm上
python报错wkhtmltopdf: command not found【python】
yum install zlib fontconfig freetype X11 libs libX11 libXext libXrender libpng*
sinnoo
2020/11/13
1.2K0
wkhtmltopdf linux 中文乱码解决【python】
/usr/local/bin/wkhtmltopdf 1.html 1.pdf
sinnoo
2020/11/13
8K0
ALM损坏后的恢复步骤
ALM是HP出品的软件开发生命周期软件,其全称是Application Lifecycle Management,其采用B/S结构,从需求,业务模型到测试用例和缺陷管理亦应具有,满足了一般软件企业对开发的产品和项目的全程管理,功能强大易用。 本人使用的ALM采用微软的SQL Server2008作为其数据库,一直用的好好的,但因停电导致启动机器后无法使用(ALM和SQL Server两者都部署在同一台机器中),后来才发现对应的数据库处于suspect状态。 之后查找资料,好不容易将数据库搞好了,但ALM仍无
企鹅号小编
2018/01/25
1.3K0
nodejs 生成8位短id
nodejs版: var uuid = require('uuid'); var shortArray = ["a", "b", "c", "d", "e", "f",     "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",     "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",     "6", "7", "8", "9", "A", "B",
小贝壳
2020/03/05
2.9K0
centos7安装Wkhtmltopdf
从官网下载预编译版安装: wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 解压 tar xvfJ wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 移动位置并赋予权限 cd wkhtmltox/bin sudo mv ./wkhtmltopdf /usr/bin/wkhtmltopdf
如梦初醒_-
2022/10/26
1.2K0
nodejs生成不重复数字的一种办法
最近在做需求的时候,有个管理端接口需要在调用的时候传递一个无符号的32位整形文件ID,也就是0 ~ 4294967295之间的数字,每次调用接口这个文件ID不能重复。
easonxie
2021/06/21
2.3K0
在CentOS 6.5上安装NodeJS
CentOS的软件源未包含有最新的nodejs, 需要手动编译安装。 首先安装依赖的库与工具 yum install libtool automake autoconf gcc-c++ openssl-devel 准备命令: yum install epel-release 无需下载源码及解压: 安装: yum install nodejs 验证是否安装配置成功: node -v
似水的流年
2019/12/06
1.1K0
Oracle数据块损坏的恢复实例
数据库有有效的RMAN备份,那么很简单,直接恢复损害数据块即可。 RMAN> blockrecover datafile 6 block 3893;
Alfred Zhao
2019/05/24
1.7K0
点击加载更多

相似问题

WKHTMLTOPDF - pdfs上出现边框

17

BeautifulSoup下载损坏的pdfs

11

wkhtmltopdf在nodejs中的AWS Lambda上生成空白pdf文件

30

使用具有firefox的wkhtmltopdf生成PDF损坏--在chrome上使用精细

26

在Heroku上使用Wkhtmltopdf和Nodejs

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文