Как конвертировать Excel в PDF nodeJS на Ubuntu?

Для конвертации 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.