Для конвертации Excel в PDF на Node.js под Ubuntu можно использовать библиотеку exceljs
для чтения и записи Excel файлов, а также библиотеку pdf-lib
для создания PDF файлов. Вот подробное описание процесса.
Шаг 1: Установка зависимостей
Перед началом установки убедитесь, что у вас установлены Node.js и npm на вашем компьютере.
Установите библиотеку exceljs
с помощью команды npm:
npm install exceljs
Затем установите библиотеку pdf-lib
:
npm install pdf-lib
Шаг 2: Написание кода
Создайте новый файл с расширением .js
, например convert.js
, и откройте его в любом текстовом редакторе.
Добавьте следующие строки кода в файл:
const ExcelJS = require('exceljs'); const { PDFDocument } = require('pdf-lib'); const fs = require('fs'); // Путь к исходному файлу Excel const excelFilePath = '/путь/к/исходному/файлу.xlsx'; // Путь к файлу PDF const pdfFilePath = '/путь/к/файлу.pdf'; // Создание нового документа PDF const createPDF = async () => { const workbook = new ExcelJS.Workbook(); await workbook.xlsx.readFile(excelFilePath); const pdfDoc = await PDFDocument.create(); const pages = pdfDoc.getPages(); const sheet = workbook.worksheets[0]; // Первый лист Excel файла let page = pdfDoc.addPage(); let y = page.getHeight() - 50; for (let i = 1; i <= sheet.actualRowCount; i++) { let x = 50; for (let j = 1; j <= sheet.actualColumnCount; j++) { const cell = sheet.getCell(i, j); page.drawText(cell.value, { x, y }); x += 100; } y -= 20; if (y <= 50) { page = pdfDoc.addPage(); y = page.getHeight() - 50; } } const pdfBytes = await pdfDoc.save(); fs.writeFileSync(pdfFilePath, pdfBytes); }; createPDF() .then(() => { console.log('Файл PDF создан успешно!'); }) .catch((error) => { console.log('Ошибка при создании файла PDF:', error); });
Шаг 3: Замена путей к файлам
Не забудьте заменить значения переменных excelFilePath
и pdfFilePath
на пути к вашим исходному Excel файлу и файлу, который будет создан в результате конвертации в PDF соответственно.
Шаг 4: Запуск кода
Сохраните файл convert.js
. Затем откройте терминал и перейдите к папке, где находится файл convert.js
. Запустите следующую команду:
node convert.js
Скрипт начнет читать Excel файл, создаст новый PDF файл, соответствующий Excel файлу, и сохранит его по указанному пути.
После завершения работы скрипта в консоли будет выведено сообщение "Файл PDF создан успешно!" или сообщение об ошибке, если что-то пошло не так.
Таким образом, используя библиотеки exceljs
и pdf-lib
вместе с Node.js, вы можете легко конвертировать Excel файлы в формат PDF на Ubuntu.