Node.js 库用于将 Office 文档转换为 PDF 或 HTML
领先的开源 Node.js 库,使软件开发者能够通过免费 Node.js API 读取并将 Office 文档转换为 PDF、HTML、JPEG、PNG 以及其他多种格式。
什么是 Awesome-Unoconv?
Awesome-Unoconv 库是一个功能强大的开源包装器,旨在增强流行的 unoconv 工具的能力,利用 LibreOffice 套件实现无缝的文件格式转换。该库旨在简化与 unoconv 的交互,提供编程接口,以最小的工作量自动化文档转换任务。库中包含多个重要特性,例如将 Office 文件转换为 PDF,将 DOCX 转换为 HTML,定制文档转换为 PDF 或 HTML,文档转换为缓冲区,基于 Web 的文档转换等。它内置对异步转换的支持,使您能够同时执行多个转换而不会阻塞应用程序。
Awesome-Unoconv 库提供直观且文档完善的 API,用于在 Node.js 应用中处理文档转换,使软件开发者能够轻松将强大的格式转换集成到项目中。它支持多种文档格式,包括 DOC、DOCX、ODT、XLSX、PPTX、PDF、HTML、PNG、JPEG 等。此多功能性使其成为需要文件格式转换项目的理想选择。库提供多种转换选项,允许您根据具体需求定制转换过程,例如指定输出格式、字体和布局。库包含健全的错误处理机制,确保即使在转换出错时,您的应用仍保持稳定和响应。凭借对多种格式的支持,它使开发者能够构建多功能应用,如文件转换器、自动化报告工具等。总体而言,它是需要无缝文件转换项目的理想选择。
开始使用 Awesome-Unoconv
要安装 Awesome-Unoconv,您可以使用 npm(JavaScript 的包管理器)。请使用以下命令进行成功安装。
通过 npm 安装 Awesome-Unoconv 库
$ npm install awesome-unoconv 在 Node.js 中将 Office 文档转换为 PDF
Awesome-Unoconv 库提供完整的功能,可通过编程方式转换各种文档,如 PDF、DOCX、ODT、XLSX,以及常见的图像格式如 JPEG、PNG 等。该库的主要特性在于其简便的多格式文档转换。下面的示例演示了软件开发者如何在 Node.js 应用中加载并将 Word DOCX 文档转换为 PDF 文件格式。
如何通过 Node.js 库将 Word 文档转换为 PDF?
const path = require('path');
const unoconv = require('awesome-unoconv');
const sourceFilePath = path.resolve('./myDoc.docx');
const outputFilePath = path.resolve('./myDoc.pdf'); // or 'myDoc.html'
unoconv
.convert(inputPath, { output: outputPath, format: 'pdf' }) // or format: 'html'
.then(result => {
console.log(result); // return outputFilePath
})
.catch(err => {
console.log(err);
});
在 Node.js 中可定制的文档转换
开源的 Awesome-Unoconv 库让软件开发者能够轻松在 Node.js 应用中加载并转换各种 office 文档。开发者可以指定高级转换选项,如页码范围、图像质量和输出分辨率,以根据需求定制输出。下面的示例演示了如何将 PDF 的特定页面以自定义分辨率导出为 PNG。
如何在 Node.js 应用中将 PDF 的特定页面转换为 PNG?
unoconv.convert('document.pdf', 'png', { startPage: 1, endPage: 5, resolution: 300 }, (error, result) => {
if (error) {
console.error('Failed to convert:', error);
} else {
console.log('High-resolution PNGs generated.');
}
});
在 Node.js 中批量转换文档
使用 Awesome-Unoconv 库,开发者可以轻松进行文档批量转换。当需要将大量文档转换为不同格式时,这一功能非常有用。它支持一次性转换多个文件,从而节省时间和精力。只需几行代码,软件开发者即可一次性转换多个文件。以下示例展示了批量转换多个文件的过程,简化了大规模文档处理任务。
如何在 Node.js 应用中将多个文件转换为 PDF?
const files = ['doc1.docx', 'doc2.odt', 'doc3.txt'];
files.forEach((file) => {
unoconv.convert(file, 'pdf', (error, result) => {
if (error) {
console.error(`Error converting ${file}:`, error);
} else {
const outputName = file.replace(/\.[^/.]+$/, '.pdf');
require('fs').writeFileSync(outputName, result);
console.log(`${file} converted to PDF.`);
}
});
});