Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Работа с Word в Electron JS

B K Ученик (87), на голосовании 1 год назад
Добрый день. Есть такая задача:
Есть один файл Word (бланк), и его надо заполнять такими данными как, Имя, Фамилия, Дата рождения, Номер телефона и т.д. Заполнять будет только сам работник (не пользователи). Возможно ли на HTML CSS JS Electron написать простенькую десктопную программу, которая будет вписывать в файл Word текст из полей ввода (или на крайний случай из консоли)? Если да, то где можно найти инструкцию с примерами кода как работать с файлами Word через Electron. Если глупость спросил, заранее извиняюсь (никогда не работал с созданием десктопных приложений).

Было бы вообще хорошо если бы на выходе получался вообще не Word а PDF.

Всем спасибо.
Голосование за лучший ответ
Андрей Ключкин Гуру (2861) 1 год назад
Добрый день! Да, возможно написать десктопную программу на Electron, которая будет заполнять файл Word данными, введенными пользователем. Для работы с файлами Word в Electron можно использовать библиотеку docxtemplater. Она позволяет создавать документы в формате .docx на основе шаблонов, которые можно заполнить данными из JS-объекта.

Кроме того, можно использовать библиотеку electron-pdf для конвертации результирующего файла Word в PDF.

Вот пример кода для использования docxtemplater в Electron:

```javascript
const fs = require('fs');
const path = require('path');
const Docxtemplater = require('docxtemplater');

// Загружаем шаблон .docx файла из файла
const content = fs.readFileSync(path.resolve(__dirname, 'template.docx'), 'binary');

// Создаем объект Docxtemplater и загружаем в него шаблон
const doc = new Docxtemplater();
doc.loadZip(content);

// Заполняем шаблон данными из объекта
doc.setData({
firstName: 'John',
lastName: 'Doe',
birthDate: '01.01.1980',
phoneNumber: '+1 234-567-8901'
});

// Рендерим результат в виде бинарных данных .docx файла
const result = doc.render();
```

Кроме того, можно использовать electron-pdf для конвертации .docx файла в PDF. Вот пример кода для этого:

```javascript
const electronPDF = require('electron-pdf');

// Конвертируем .docx файл в PDF
electronPDF.create(result, {printBackground: true}).then(buffer => {
fs.writeFileSync('result.pdf', buffer);
});
```

Обратите внимание, что для работы с этими библиотеками нужно установить соответствующие зависимости: `docxtemplater` и `electron-pdf`.

Надеюсь, это поможет вам решить вашу задачу!
B KУченик (87) 1 год назад
Спасибо!!!
Somepony Просветленный (22372) 1 год назад
Ради простенького приложения выбирать Electron, который будет тащить за собой аж целый браузер и жрать сотни мегабайт ОЗУ, класс
Дивный новый мир
Похожие вопросы