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');

});

Nodejs 中将html转换成pdf文件的更多相关文章

  1. ASP.Net中实现上传过程中将文本文件转换成PDF的方法

    iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...

  2. OpenOffice将MS docx转换成pdf文件偶数页眉不显示问题解决办法

    OpenOffice版本:4.0(Windows.Linux下测试都出现问题) MS Office版本:2007 问题描述 使用OpenOffice将MS的docx文件转换为pdf文件时,docx文件 ...

  3. Linux不用使用软件把纯文本文档转换成PDF文件的方法

    当你有一大堆文本文件要维护的时候,把它们转换成PDF文档会好一些.比如,PDF更适合打印,因为PDF文档有预定义布局.除此之外,还可以减少文档被意外修改的风险. 要将文本文件转换成PDF格式,你要按照 ...

  4. C# 将PowerPoint文件转换成PDF文件

    PowerPoint的优势在于对演示文档的操作上,而用PPT查看资料,反而会很麻烦.这时候,把PPT转换成PDF格式保存,再浏览,不失为一个好办法.在日常编程中和开发软件时,我们也有这样的需要.本文旨 ...

  5. C#.net word excel powerpoint (ppt) 转换成 pdf 文件

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  6. 在Linux下将HTML文件转换成PDF文件

    今天要写一个上交的作业,本来是想用Office Word来写的,但是,我的Office貌似不能用了,但是,Linux下的LibreOffice写出的文档,在打印的时候是经常出现乱码的.所以,后来想到可 ...

  7. 使用abcpdf将html转换成pdf文件

    ABCpdf.NET使用介绍 最新做一个项目需要生成pdf文档以供打印,研究决定使用abcpdf这款组件,先针对其使用方法做一个简单的总结介绍以给有需要的朋友做参考. 一. ABCpdf.NET简单介 ...

  8. Python将word文档转换成PDF文件

    如题. 代码: ''' #將word文档转换为pdf文件 #用到的库是pywin32 #思路上是调用了windows和office功能 ''' #导入所需库 from win32com.client ...

  9. 用java代码把docx转换成pdf文件

    import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio ...

随机推荐

  1. 【原创】Proxmark3系列教程1——PM3用法

    1 PM3介绍 proxmark3是一款开源的RFID安全研究平台黑色按钮从图中我们可以看到左上方有一颗黑色按钮,这个按钮就是Proxmark3的功能键,主要用于启动嗅探模式以及停止进程功能,其中内置 ...

  2. 第一次玩博客,今天被安利了一个很方便JDBC的基于Spring框架的一个叫SimpleInsert的类,现在就来简单介绍一下

    首先先对这段代码的简单介绍,我之前在需要操作JDBC的时候总是会因为经常要重新写SQL语句感到很麻烦.所以就能拿则拿不能拿的就简单地封装了一下. 首先是Insert.Spring框架的JDBC包里面的 ...

  3. python 离群点检测

    import numpy as np import pandas as pd from sklearn.cluster import KMeans import matplotlib.pyplot a ...

  4. WEB学习笔记5-标准的HTML页面结构

    完整的文档包含一下 <html> <head> </head> <body> </body> </html> 在HTML5规范中 ...

  5. silverlight 从数据库获取到数据,动态生成XMLWEN文件,并获取文件进行操作

    // Silverlight中的独立存储是其内部的可信任的可访问文件空间,在这里你可以使用Silverlight随意的创建.读取.写入.删除目录和文件,它有一些类似于Cookie,但是它可以在客户端保 ...

  6. checkbox默认选中

    http://www.ggfenxiang8.com/?page_id=1108 需要最新前端视频教程vu.js1.0/2.0等的可以叫我QQ1139721002

  7. mac pkg移除

    1打开终端 sudo bash < <(curl -sL https://raw.github.com/mpapis/pkg_uninstaller/master/pkg-install) ...

  8. TNS-12560,TNS-00583: Valid node checking: unable to parse configuration parameters

    测试环境11.2.0.4.0, os系统linux 5.6 单实例,监听文件,启动报错: [oracle@adg1 admin]$ lsnrctl start LSNRCTL for Linux: V ...

  9. docker for windows 部署gitlab

    gitlab的安装相对繁琐,如果使用docker 镜像的方式就轻松太多了. 我是用的环境是windows10 专业版 + docker for windows 1.右键docker打开Kitemati ...

  10. firefox浏览器,主动出现hao123的解决办法

    听说火狐浏览器前端开发很好用,今天下载了一个体验了一下觉得还是很不错的.但是有个问题!!!为什么我设置了启动时打开空白页没用,它每次都会给我打开 https://www.hao123.com/ hao ...