QOffice
QOffice — оригинальная основа кроссплатформенного офисного пакета с четырьмя приложениями:
- QWord: редактор документов
- QExcell: редактор таблиц
- QPowerPoint: редактор презентаций
- QOutlook: локальное рабочее пространство почты
Репозиторий не содержит код, ресурсы, брендинг, иконки или проприетарные UI-материалы Microsoft Office.
Запуск
npm install
npm run dev
Desktop-оболочка
npm run electron:dev
Проверка
npm run test
npm run build
Поддержка форматов
- QWord открывает
.docxи сохраняет.docx; при импорте базовых DOCX-абзацев читает выравнивание, явные цвета текста и подсветку из OOXML, а при экспорте DOCX сохраняются заголовки, абзацы, выравнивание абзацев, списки, простые таблицы, внешние гиперссылки, базовые растровые изображения и базовое inline-форматирование текста: полужирный, курсив, подчеркивание, цвет текста и подсветка. - QExcell открывает
.xlsxи сохраняет.xlsx; сетка расширяется по фактически заполненным ячейкам, поддерживает несколько листов, формулы за пределами стартового диапазона A-H, базовые merged cells, внешние гиперссылки ячеек, базовые диаграммы листа и базовое форматирование ячеек: полужирный, курсив, подчеркивание, цвет текста, заливку, горизонтальное выравнивание и числовые форматы XLSX для дат, процентов, денежных и дробных значений. - QPowerPoint открывает
.pptxи сохраняет.pptx; импорт учитывает порядок слайдов изpresentation.xml, читает заметки докладчика через relationships слайда и сохраняет базовые растровые изображения слайдов. - QOutlook открывает
.emlи одиночные сообщения Outlook.msg, сохраняет письма в.eml; импорт EML поддерживает простые текстовые письма,multipart/alternative,multipart/mixed,text/plain, fallback изtext/htmlв читаемый текст, base64, quoted-printable и MIME-вложения. Импорт MSG читает тему, отправителя, получателей, текст/HTML body и вложения, если эти поля доступны в MSG-файле. Новые письма можно сохранять в EML вместе с добавленными файлами..pstи экспорт в.msgпока не реализованы.
В desktop-режиме Electron используются системные диалоги открытия и сохранения файлов. В web-режиме остаются браузерный выбор файла и скачивание результата.
Экспорт PDF в desktop-режиме выполняется через Electron webContents.printToPDF; в web-режиме команда открывает браузерную печать, где пользователь может выбрать сохранение в PDF.
Desktop-меню поддерживает системные команды для активного модуля:
Ctrl/Cmd+O: открыть файл текущего приложения.Ctrl/Cmd+S: сохранить файл текущего приложения.Ctrl/Cmd+Shift+E: экспортировать текущую рабочую область в PDF.Ctrl/Cmd+P: печать текущей рабочей области.
Импорт и экспорт реализуют базовую совместимость с Office Open XML, EML и чтением MSG: текст, базовое inline-форматирование, явные w:color, w:shd и w:highlight для цвета/подсветки текста DOCX, выравнивание абзацев DOCX, внешние гиперссылки DOCX/XLSX, базовые растровые изображения DOCX/PPTX, простые таблицы, несколько листов XLSX, ячейки, формулы, базовые merged cells, базовые стили, цвета текста ячеек, горизонтальное выравнивание ячеек, числовые форматы и простые bar/line/pie диаграммы ячеек XLSX, текстовые слайды PPTX, заметки докладчика, MIME-вложения EML и базовые поля одиночных MSG-писем. Сложные стили, макросы, сложные диаграммы, сложное позиционирование и обтекание изображений, PST, экспорт MSG и полная fidelity документов Microsoft Office в текущем инкременте не заявлены.
Сборка пакета
npm run dist:desktop