Печать
Печатать программа умеет две разные вещи: одну карточку книги или всю
коллекцию отчётом. И то и другое делается в одном окне и на одном наборе
шаблонов из папки reports_html — шаблоны карточки и шаблоны отчёта
просто не смешиваются.
Печать карточки книги
Выберите книгу и нажмите (Ctrl+Alt+P). Откроется окно с тремя шаблонами карточки — Card, Card Compact и Card Cover — и предварительным просмотром текущей книги. Стрелки наверху листают коллекцию, так что можно просмотреть несколько карточек не закрывая окно. Дальше — печать либо сохранение карточки в PDF или HTML.
Печать коллекции
- Отфильтруйте коллекцию до того, что нужно на бумаге, — печатаются только видимые книги.
- Выберите (F7).
- Выберите Шаблон отчёта. Просмотр перерисовывается при смене шаблона, стрелки листают страницы, а список масштаба переключает «по ширине», «страница целиком» и фиксированное увеличение.
- Нажмите Печать…, Сохранить в PDF… или Сохранить в HTML…

Шаблоны отчётов
Под коллекцию сделано тринадцать шаблонов, они делятся на два рода:
| Compact, Compact 2, Brief, Standard, Detailed | Текстовые списки, от одной строки на книгу до полных сведений. То, что нужно для инвентаризации или описи для страховой. |
| Authors and Titles | Только автор и название, мелким шрифтом, в две колонки на странице, как в газете. Карманный список, чтобы взять с собой в книжный; перед печатью отсортируйте список по автору. |
| Album Brief, Album Standard, Album Detailed, Covers, Covers Small, Covers Only, Spines | Раскладки вокруг обложек — иллюстрированный каталог коллекции. |
Оставшиеся три — Card, Card Compact и Card Cover — рассчитаны на одну книгу и показываются только при печати карточки.
Галочка Только текущая книга ограничивает отчёт по коллекции выбранной книгой.
Оформление карточки на экране — это другое: оно
берётся из и шаблонов
папки bookcards. На то, что выйдет из принтера, оно не
влияет.
Если копию нужно сохранить, а не повесить на стену, печатайте в PDF: те же шаблоны, никаких чернил и файл, который можно отправить почтой. Остальные форматы — в Экспорт.
Свой шаблон отчёта
Набор шаблонов не закрыт: шаблон — это три HTML-файла в папке, и напечатать можно всё, что вы способны написать на HTML. В пятой версии вместо этого был визуальный редактор отчётов. Он шёл в комплекте со старым движком печати, его почти никто не открывал, и в нынешний код он не переехал — вместо него обычный HTML. Кнопок меньше, свободы больше.
Стандартные шаблоны лежат в папке программы, в reports_html, а
ваши — в Документы\AllMyBooks\Templates\reports_html,
куда обновление программы не заглядывает. Одна вложенная папка — один шаблон, и
имя папки — это то, что вы видите в списке шаблонов (ваши помечены
(мой)). Внутри три файла:
| header.html | Начало документа — <head>, заголовок отчёта и все
стили. Печатается один раз, сверху. |
| book.html | Блок одной книги. Печатается по разу на книгу, в том порядке, в котором отсортирована коллекция. |
| footer.html | Конец документа, обычно одни закрывающие теги. |
- В окне печати выберите штатный шаблон, близкий к нужному, — проще всего
начать с
Brief, а если нужна таблица, то сCompact, — нажмите Мои шаблоны…, затем Создать мою копию этого шаблона…. Дайте копии имя — её папка откроется в Проводнике. - Правьте файлы в любом текстовом редакторе, сохраняйте в UTF-8.
- Снова откройте : новое имя уже в списке, а предварительный просмотр показывает результат постранично — ровно так, как он выйдет из принтера.
Папка ваших шаблонов лежит в Документах, поэтому права администратора для правки не нужны. Ваш шаблон с тем же именем, что у штатного, заменяет его в списке.
Папка попадает в список, только если в ней есть book.html. Шаблон
с директивой <!--#option card --> (а в старых шаблонах — с
именем, начинающимся на Card) уходит в окно печати карточки, а не в
отчёт по коллекции.
Поля
Данные книги подставляются метками, похожими на HTML-комментарии. Пробел перед
--> обязателен:
<div class="bktitle"><b><!--#row -->. <!--#title --></b></div> <div><!--#authors --></div> <div><span class="lbl"><!--#publisher_lbl -->:</span> <!--#publisher --> <!--#year --></div> <div><!--#cover width="85" --></div>
| Метки | Что подставляют |
|---|---|
| title, originaltitle, subject, synopsis, comments, contents |
Название, оригинальное название, жанр, аннотация, ваши заметки, содержание. |
| authors, editors, translators, illustrators |
Люди, уже собранные в одну строку. |
| publisher, year, yearp, language, pages, isbn, binding, dimensions, circulation |
Выходные данные. yearp — год в скобках, а если год неизвестен,
не печатается ничего: удобно для заголовков вида
Название (1979). |
| series, volume, booknumber | Серия, том в ней и ваша собственная нумерация. |
| rating, myrating, unread, wishlist, dateread, personalmarks |
Оценки и отметки. Отметки «да/нет» печатают переведённое «Да», когда стоят, и совсем ничего, когда не стоят. |
| price, filesize, playtime, location, lentto, dateadded, url, loc, dewey, bookid |
Всё остальное, что хранится у книги. Пустое значение печатается как пустота, а не как ноль. |
| cover | Обложка. Эта метка разворачивается в целый тег <img>,
поэтому размер задавайте прямо в ней:
<!--#cover width="85" -->. У книг без обложки не печатается
ничего. |
| ud_<имя> | Ваше собственное поле — <!--#ud_Полка --> для поля с
именем Полка. Работает для имён без пробелов. |
| userfield | То же для любого имени поля, с пробелами тоже:
<!--#userfield name="Подписана автором" -->. Без имени
<!--#userfield --> печатает все ваши заполненные поля, по
одному в строке, в виде Имя: значение. |
| reporttitle, date, totalbooks, row |
Сам отчёт: имя базы, текущая дата, сколько книг в отчёте и номер
печатаемой книги. Первым трём место в header.html,
row — в book.html. |
У каждого поля, у которого в программе есть подпись, есть и метка-подпись:
добавьте к имени _lbl — и получите название поля, переведённое на
язык интерфейса. <!--#pages_lbl --> напечатает
Страниц по-русски и Pages по-английски. Подписывайте поля так, и
шаблон будет работать на любом языке программы.
Внутри метки понимаются два атрибута:
| maxlen=200 | <!--#synopsis maxlen=200 --> обрезает длинное значение
по границе слова и ставит многоточие. Нужно, когда раскладка обязана влезть
на один лист. |
| skipsame | <!--#originaltitle skipsame --> ничего не печатает,
если значение совпадает с названием, — а у большинства книг оно
совпадает. |
Параметры страницы и пустые поля
Печатную страницу настраивают эти директивы. Ставить их можно в любом файле шаблона, в вывод они не попадают:
| <!--#option crop-empty-lines --> | Убирать строку шаблона целиком, если все поля на ней оказались пустыми. Без этого у книги без серии напечатается пустая строка Серия:. |
| <!--#option landscape --> | Просить альбомную ориентацию. Так сделаны шаблоны с обложками. |
| <!--#option paper a4 --> | Просить формат A4 — для раскладок, где важен физический размер. |
| <!--#option margins 8 --> | Поля страницы в миллиметрах. По умолчанию 15. |
| <!--#option columns 2 --> | Печатать в 2 (до 4) колонки «газетой»: список идёт вниз по первой колонке и продолжается сверху следующей. Рассчитано на табличные списки по строке на книгу; HTML-файл сохраняется в одну колонку. |
| <!--#option card --> | Шаблон печатает одну книгу на листе и показывается в окне печати карточки, а не среди отчётов по коллекции. |
Обрезка работает по целым строкам файла шаблона, а не по отдельным меткам. Два поля, написанные на одной строке, живут и умирают вместе, поэтому давайте каждому полю свою строку, если хотите убирать их по отдельности.
Разрывы страниц — обычный CSS. page-break-inside: avoid на блоке
книги не даёт разорвать книгу между листами, page-break-before: always
начинает новую страницу; больше штатным шаблонам ничего и не нужно. Размеры,
заданные в mm, выходят на бумаге точными, так что там, где важен
физический размер, задавайте миллиметры: размеры в пикселях точны только при
96 dpi.
Движок печати — не браузер. Он умеет практичное подмножество HTML и CSS: таблицы, шрифты, цвета, рамки, отступы, картинки, обтекание, — но не современную раскладку вроде flexbox и CSS grid и не JavaScript. Верстайте так же, как штатные шаблоны, — таблицами и простыми стилями, — и предварительный просмотр покажет ровно то, что напечатается.
Знать HTML для этого не обязательно. Выберите шаблон, нажмите Мои шаблоны…, затем Скопировать задание для ИИ: в буфер обмена попадут шаблон, правила движка печати и названия ваших полей. Вставьте это в ChatGPT, Claude, Copilot или любой другой ИИ-помощник и опишите, что хотите изменить: «добавь дату прочтения», «поставь обложку справа», «сделай в две колонки». Скопируйте ответ целиком и нажмите Вставить шаблон от ИИ… — он сохранится как ваш новый шаблон, и просмотр сразу покажет, получилось ли; если нет, скажите чат-боту, что поправить, или удалите шаблон, ничего не потеряв. А если возиться не хочется совсем — опишите нужный отчёт через форму обратной связи, и мы соберём шаблон за вас.
Попробуйте бесплатно: до 100 книг — без ограничения по времени.