Начну с конца, так как это самый главный вопрос, остальные - лишь технические детали.
чем вообще шаблон отличается от собственно готового документа
Во всех самых распространённых офисных пакетах есть понятие шаблона. На самом деле программа (MS Office, Open/Libre Office и др.) не создаёт документ как таковой. Документ создаётся на базе шаблона. Базовый шаблон для пустого документа в MS называется Normal (dot, dotx, dotm, xlt, xltx, ...), в котором заданы исходные стили и настройки, определяющие общий вид документа. Текста в этом шаблоне нет, поэтому создаваемый документ изначально пуст, но имеет уже предопределённый размер шрифта, границы, табуляции, отступы, межстрочный интервал и прочее. Если в Normal добавить какое либо содержание или изменить настройки, то все новые документы, которые будут создаваться на его основе - будут содержать внесённую в него информацию.
Рядовой пользователь с этим внутренним механизмом обычно не сталкивается и понятие шаблона для него ничего не говорит.
Но мы в своём конструкторе решили его использовать. Замечу, что идея создания документа на базе подготовленного шаблона была нами впервые применена более 20 лет назад.
Вот несколько причин, почему шаблон удобнее обычного документа:
- документ создаётся как реплика (копия) шаблона в памяти и изначально не представляет из себя копии на физическом носителе;
- при необходимости полученный документ в памяти можно распечатать и не сохранять на диске, т.е. не происходит создания кучи документов, которые потом приходится удалять;
- при работе по сети шаблон пересылается на клиентский компьютер, где происходит создание любого числа документов, не загружая при этом сетевой трафик;
- шаблон невозможно случайно переписать или удалить - созданный документ по умолчанию имеет расширение .doc/.docx/.xls/xlsx/..., а кроме того, шаблоны обычно хранятся в служебных папках, доступа к которым обычному пользователю не требуется.
При работе в файловой системе, если открыть контекстное меню на имени файла шаблона, то по умолчанию система предлагает создание на его основе документа (по двойному клику), и лишь вторым пунктом идёт команда изменения самого шаблона, что дополнительно предотвращает нарушение структуры исходного образца.
Резюмируя описанное:
- шаблон - это матрица будущего документа, с заданным набором характеристик и содержимого;
- документ - это копия исходного шаблона, доступная для редактирования, сохранения, печати, копирования и прочих действий.