首页 技术 正文
技术 2022年11月21日
0 收藏 425 点赞 2,692 浏览 1834 个字

Nodejs 中将html转换成pdf文件,Nodejs Convert html into pdf

1. 下载phantomjs.exe,将该文件放在根目录

2. 编写pdf.js文件(在github上下载phantomjs相关的测试文件,仿照rasterize.js文件编写pdf.js文件)

3. Nodejs调用phantomjs,将html页面转换成pdf文件

// 改变存放html和pdf的路径

app.get('/pdf5',function(request,response){   var http = require('http');   var sys = require('sys');   var exec = require('child_process').exec;   var util = require('util');   var fs = require('fs');   var innertTextForBody="<table style=' border: 1px dotted  green;'><tr><td>Name</td><td>Age</td><td>Agent</td><td>Address</td><td>FootMark</td></tr></table>";   var dummyContent = '<!doctype  html><html><head><title>Test</title><meta  charset="utf-8"></head><body><p  style="border: 1px dotted #adff2f">Hello everyone,Node you can inspire weg page go forward!</p>'+innertTextForBody+'</body></html>';   var date=new Date();   var  fileName=date.getYear().toString()+date.getMonth().toString()+date.getDay().toString()+date.getHours().toString()+date.getMinutes().toString()+date.getSeconds().toString();   console.log(fileName);   // var htmlFileName ="wwwroot/public/ConverPdf/page.html",  pdfFileName ="wwwroot/public/ConverPdf/page.pdf";   var htmlFileName  ="wwwroot/public/ConverPdf/"+fileName+".html",  pdfFileName ="wwwroot/public/ConverPdf/"+fileName+".pdf";   // Save to HTML file(this html url you can specify web page)   fs.writeFile(htmlFileName, dummyContent, function(err) {    if(err) { throw err; }    util.log("temporatry html file have  generator");   });   // var child = exec("phantomjs.exe"+"  "+"pdf.js"+" "+ htmlFileName + " " +  pdfFileName, function(err, stdout, stderr) {   var child = exec("phantomjs.exe"+"  "+"pdf.js"+" "+ htmlFileName + " " +  pdfFileName, function(err, stdout, stderr) {    if(err) { throw err; }    else    {      console.log('pdf file saved to');      util.log(stderr);      fs.unlink(htmlFileName,function(err){        if (err) throw err;        console.log('successfully deleted  '+htmlFileName);      });    }   });   response.writeHead(200, {'Content-Type' : 'text/html'});   response.end('Rendered to ' + htmlFileName + ' and ' + pdfFileName +  '\n');});
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,105
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,582
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,429
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,836
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,919