栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

nodejs代码将word转成图片

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nodejs代码将word转成图片

最近遇到个需求,客户要将word文档上传到服务器并显示出来,保持格式不变。

思路:先将word转pdf,然后再转成图片显示

为啥不直接将word转成html或者直接转成图片呢,因为Word转html会丢失样式,不直接转成图片是因为没找到合适点插件。。。(找到的老铁可以留言告诉我一下)

系统:centos7

1、安装 libreoffice.x86_64,这个是免费的办公套件,官网:主页 | LibreOffice 简体中文官方网站 - 自由免费的办公套件

yum install libreoffice.x86_64

2、安装word转pdf插件:office-to-pdf

cnpm install office-to-pdf

3、写代码转pdf

var toPdf = require("office-to-pdf");
var fs = require('fs');
// 转换word为PDF
function wordToPdf(){
  let wordFile = __dirname + "/test.docx";
	return fs.readFile(wordFile, function(err, result){
		if(err){
			console.log(err);
		}else{
			toPdf(result).then(
			  (pdfBuffer) => {
          fs.writeFileSync("./test.pdf", pdfBuffer);
          console.log('成功生成PDF文件')
         
			  }, (err) => {
				  console.log(err);
			  }
			);
		}
	});
}
wordToPdf()

以上如果能成功运行并生成了pdf文件,则进行下一步,如果pdf中文变成方格或者乱码,试试将windows的字体文件导入centos里

4、安装pdf转图片的组件

yum install  ImageMagick ghostscript poppler poppler-utils

5、安装node的pdf-image插件,具体使用参考:https://www.npmjs.com/package/pdf-image

cnpm install pdf-image

6、写代码将pdf转成图片

var PDFImage = require("pdf-image").PDFImage;
 
var pdfImage = new PDFImage("/www/test/test.pdf");
pdfImage.convertFile().then(function (imagePaths) {
  // [ /tmp/slide-0.png, /tmp/slide-1.png ]
  console.log(imagePaths)
},err=>{
	console.log(err)
});

7、结束。imagePaths即得到的所有图片,然后就可以为所欲为了

8、看到这里了,点个赞呗,坑都是我一点点填的,很辛苦的呢~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/741156.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号