Вся документация

Библиотека A4 для Node.js

Пакет a4office для Node.js открывает, правит, пересчитывает и сохраняет книги Excel, читает текст документов Word и добавляет слайды в презентации — из серверного кода на JavaScript. Внутри — ядра F1 (таблицы), A4 (документы) и P2 (презентации): ничего не компилируется при установке, не нужны ни Microsoft Office, ни LibreOffice.

Что умеет

  • книги .xlsx, .xlsm, .xlsb, .xls, .ods, .csv: открыть, записать число, текст или формулу, пересчитать, прочитать значение ячейки, сохранить;
  • документы .docx и .docm: текст одной строкой кода;
  • презентации .pptx: открыть, добавить слайд, узнать число слайдов, сохранить.

Пакет — модуль ES: подключается через import.

Установка

Пакет ставится с нашего сервера загрузок, а не из общего каталога npm. Ставьте два архива одной командой: основной пакет и ядра своей платформы. Например, для macOS на Apple silicon:

npm install https://dl.plantype.ru/a4office/release/node/2026.4.3/a4office-native-darwin-arm64-2026.4.3.tgz https://dl.plantype.ru/a4office/release/node/2026.4.3/a4office-2026.4.3.tgz

Для другой платформы замените первый архив:

ПлатформаАрхив с ядрами
macOS, Apple silicona4office-native-darwin-arm64-2026.4.3.tgz
macOS, Intela4office-native-darwin-x64-2026.4.3.tgz
Linux x86-64a4office-native-linux-x64-2026.4.3.tgz
Linux aarch64a4office-native-linux-arm64-2026.4.3.tgz
Windows x64a4office-native-win32-x64-2026.4.3.tgz

Единственная зависимость пакета — koffi — ставится из каталога npm. Каталог архивов — dl.plantype.ru/a4office/release/node/2026.4.3/.

Первый пример

Файлы для примеров: report.xlsx, contract.docx, deck.pptx — или все сразу: curl -O https://tech.bazapp.ru/samples/report.xlsx -O https://tech.bazapp.ru/samples/contract.docx -O https://tech.bazapp.ru/samples/deck.pptx (в Windows — curl.exe). Подойдут и свои файлы.

Открыть книгу, записать ячейку, пересчитать и сохранить; прочитать текст документа; добавить слайд:

import { open, text } from "a4office";

const wb = open("report.xlsx");
const sheet = wb.sheet([...wb.sheets.keys()][0]);  // первый лист
sheet.set("B11", 41).set("C11", "=B11+1");         // число, текст, null или формула
wb.recalc();
console.log(sheet.get("C11"));                     // 42
wb.save("report-edited.xlsx");
wb.close();

console.log(text("contract.docx"));

const deck = open("deck.pptx");
deck.addSlide();
console.log(deck.slideCount);
deck.save("deck-edited.pptx");
deck.close();

open() по расширению файла возвращает книгу (Workbook) или презентацию (Presentation). save() без аргумента перезаписывает исходный файл. Ошибки — OfficeError; кончилась квота — LicenseQuotaError. Версия ядер внутри пакета — coreVersion().

Что бесплатно

Без ключаС ключом разработчика
Документов в сутки3010 000
Срокбез срока90 дней с выдачи
Когда квота кончиласьсразу исключение LicenseQuotaError со ссылкой на этот раздел; без ожидания и без замедления

Квоту платят открытие и сохранение файла в любом из трёх ядер — книги, документы и презентации считаются вместе; правки внутри открытого файла, сколько бы ячеек вы ни меняли, не считаются. Чтобы получить ключ разработчика, напишите нам: вместе с ключом пришлём, как подключить его к вашей программе.

Где считается: в файле ~/.layers/a4office-state.json, а если задана переменная A4OFFICE_STATE_DIR — в этом каталоге. Ключ ищется по порядку: переменная A4OFFICE_LICENSE, файл из A4OFFICE_LICENSE_FILE, файл ~/.layers/license.jws. Ключ в последнем действует на все запуски на этой машине, и бесплатные 30 тогда не считаются; проверить бесплатный режим на такой машине — направить A4OFFICE_LICENSE_FILE на пустой файл.

Чего нет

  • просмотрщика и редактора в браузере: показать документ людям — Сервер A4;
  • преобразования в PDF и картинок страниц;
  • документы Word в коротком API только читаются; правка — через низкоуровневый Session;
  • макросы VBA не исполняются.

Показать документ людям

Библиотека создаёт и меняет файлы внутри вашей программы. Просмотрщика и редактора в браузере в ней нет: view() отвечает, где взять сервер, и ссылкой на его страницу. Показать документы людям и дать их править — задача остальных изделий A4:

  • В браузере — Сервер A4. Файлы, которые создаёт ваша программа, открываются в редакторах A4, F1 и P2 (презентации) на сервере организации; правка возвращается новой версией. Сервер A4; подключение к 1С и Битрикс24.
  • На компьютере — настольные редакторы. A4, F1 и P2 для Windows, macOS и Linux. Скачать.
  • Из почты и учётных программ — A4 Office. Вложение или файл из 1С открывается в редакторе на компьютере и возвращается обратно. A4 Office на компьютере.
  • Внутри вашего продукта. Те же редакторы, встроенные в ваше приложение, — для партнёров: мобильный SDK; напишите нам.

Скачать

Пакет a4office для Node.jsверсия 2026.4.3 · пять платформ
Каталог архивов
ФайлРазмерЧто это
a4office-2026.4.3.tgz5 067 байтосновной пакет, любая платформа
a4office-native-darwin-arm64-2026.4.3.tgz46 520 986 байтядра для macOS, Apple silicon
a4office-native-darwin-x64-2026.4.3.tgz48 237 663 байтядра для macOS, Intel
a4office-native-linux-x64-2026.4.3.tgz47 356 630 байтядра для Linux x86-64
a4office-native-linux-arm64-2026.4.3.tgz44 376 638 байтядра для Linux aarch64
a4office-native-win32-x64-2026.4.3.tgz47 770 401 байтядра для Windows x64
SHA256SUMS601 байтконтрольные суммы

Контрольные суммы

d87037b8a1c2de99e41f742efda223171359d1a29935728f49072c5b33b6983b  a4office-2026.4.3.tgz
fa4e45f195e45615150e01fdd5c0652fd148586e3da834e8416f0f6c66f72a5a  a4office-native-darwin-arm64-2026.4.3.tgz
2c5cb233850692905b2c3cc829b0706c95b9cbdb3d33a4d3a817c35b521ab217  a4office-native-darwin-x64-2026.4.3.tgz
78717dbe61e95f4988ccbf6bb04532cfda3c30ba5f4bbc696c690ff0e406488a  a4office-native-linux-arm64-2026.4.3.tgz
4aabb57dd61ccccdc449c4e5d3c7f12bf7981891abb3827941f8dae92fca4aa8  a4office-native-linux-x64-2026.4.3.tgz
0ddfbe9889601f9f686bca55b7a49db932a8611d516d4d7f4a3e468855937ba1  a4office-native-win32-x64-2026.4.3.tgz

Проверка после скачивания:

shasum -a 256 -c SHA256SUMS