zkrvndm
@zkrvndm
Архитектор решений

Как отредактировать .doc при помощи JavaScipt?

Создал шаблон в устаревшем формате .doc внедрил туда маркеры типа таких: {имя} {дата} и т. д.

Можно ли эти маркеры теперь программно заменить на что-то свое? Сразу в браузере, без привлечения сервера.

spoiler
Попробовал открыть .doc как zip-архив и он даже открылся, но кроме некоторых служебных xml-файлов ничего внутри не нашел, т. е. текста документа в самом архиве нет, видимо он зашифрован как-то в теле документа, вопрос лишь в том, как?
  • Вопрос задан
  • 233 просмотра
Решения вопроса 1
zkrvndm
@zkrvndm Автор вопроса
Архитектор решений
Нашел способ делать замену текста в документе формата .doc

Суть в следующем, если мы открываем .doc как обычный текст, то увидим лишь крокозябры, но это НЕ касается кода макросов, если они (макросы) конечно есть в документе. Соответственно, пишем само запускающийся макрос для авто замены используя наши маркеры, а затем эти маркеры тупо в лоб заменяем на нужные нам данные.

Единственные здесь минус, все маркеры должны быть фиксированной длинны, т. е. после правки длинна документа не должна изменится, но это ограничение легко обходится при помощи дописывания пробелов.

P. S. На JavaScript нельзя редактировать .doc файл, как строку, он от этого портится, но можно его перегнать в Uint8Array и уже с ним работать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@d-stream
Готовые решения - не подаю, но...
Теперь осталось внедрить в этот шаблон макрос, который и будет делать замену и дёргать его программно.
Ответ написан
artur_kudaev
@artur_kudaev
Frontend Developer
Ranwise
@Ranwise
Надим Закиров - найти спецификации docx и написать парсер xml
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
26 нояб. 2024, в 21:30
30000 руб./за проект
26 нояб. 2024, в 20:38
120000 руб./за проект
26 нояб. 2024, в 20:08
1000 руб./за проект