Андрей Ключкин
Гуру
(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`.
Надеюсь, это поможет вам решить вашу задачу!
Есть один файл Word (бланк), и его надо заполнять такими данными как, Имя, Фамилия, Дата рождения, Номер телефона и т.д. Заполнять будет только сам работник (не пользователи). Возможно ли на HTML CSS JS Electron написать простенькую десктопную программу, которая будет вписывать в файл Word текст из полей ввода (или на крайний случай из консоли)? Если да, то где можно найти инструкцию с примерами кода как работать с файлами Word через Electron. Если глупость спросил, заранее извиняюсь (никогда не работал с созданием десктопных приложений).
Было бы вообще хорошо если бы на выходе получался вообще не Word а PDF.
Всем спасибо.