nodejs后端office转pdf

本文详细介绍了在Centos系统中使用LibreOffice转换文档为PDF时遇到中文显示为小方格的问题及其解决方案。通过上传Windows字体库到Centos并刷新字库,再结合office-to-pdf模块,成功解决了转换后的PDF中文乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#前提安装 libreoffice
https://blog.youkuaiyun.com/tiger199/article/details/90702198?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2
#Libreoffice在Centos下转换为PDF中文全是小方格
原文链接:https://blog.youkuaiyun.com/daixinmei/article/details/83060431
一.原因:

缺少字库

二.解决:

1.将window字体库上传到centos机器(C:\Windows\Fonts)(/usr/share/fonts)

2.刷新字库

mkfontscale

mkfontdir

fc-cache

这三个命令缺少哪个用yum install 哪个

1、安装office-to-pdf模块

npm install office-to-pdf -S

2、node执行以下代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值