Печать

Печатать программа умеет две разные вещи: одну карточку книги или всю коллекцию отчётом. И то и другое делается в одном окне и на одном наборе шаблонов из папки reports_html — шаблоны карточки и шаблоны отчёта просто не смешиваются.

Печать карточки книги

Выберите книгу и нажмите Книга › Напечатать карточку книги (Ctrl+Alt+P). Откроется окно с тремя шаблонами карточки — Card, Card Compact и Card Cover — и предварительным просмотром текущей книги. Стрелки наверху листают коллекцию, так что можно просмотреть несколько карточек не закрывая окно. Дальше — печать либо сохранение карточки в PDF или HTML.

Печать коллекции

  1. Отфильтруйте коллекцию до того, что нужно на бумаге, — печатаются только видимые книги.
  2. Выберите Инструменты › Печать коллекции… (F7).
  3. Выберите Шаблон отчёта. Просмотр перерисовывается при смене шаблона, стрелки листают страницы, а список масштаба переключает «по ширине», «страница целиком» и фиксированное увеличение.
  4. Нажмите Печать…, Сохранить в PDF… или Сохранить в HTML…
Окно печати коллекции с предварительным просмотром отчёта
Одно и то же окно печатает, сохраняет 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 — рассчитаны на одну книгу и показываются только при печати карточки.

Галочка Только текущая книга ограничивает отчёт по коллекции выбранной книгой.

Оформление карточки на экране — это другое: оно берётся из Вид › HTML-шаблон и шаблонов папки bookcards. На то, что выйдет из принтера, оно не влияет.

Если копию нужно сохранить, а не повесить на стену, печатайте в PDF: те же шаблоны, никаких чернил и файл, который можно отправить почтой. Остальные форматы — в Экспорт.

Свой шаблон отчёта

Набор шаблонов не закрыт: шаблон — это три HTML-файла в папке, и напечатать можно всё, что вы способны написать на HTML. В пятой версии вместо этого был визуальный редактор отчётов. Он шёл в комплекте со старым движком печати, его почти никто не открывал, и в нынешний код он не переехал — вместо него обычный HTML. Кнопок меньше, свободы больше.

Стандартные шаблоны лежат в папке программы, в reports_html, а ваши — в Документы\AllMyBooks\Templates\reports_html, куда обновление программы не заглядывает. Одна вложенная папка — один шаблон, и имя папки — это то, что вы видите в списке шаблонов (ваши помечены (мой)). Внутри три файла:

header.html Начало документа — <head>, заголовок отчёта и все стили. Печатается один раз, сверху.
book.html Блок одной книги. Печатается по разу на книгу, в том порядке, в котором отсортирована коллекция.
footer.html Конец документа, обычно одни закрывающие теги.
  1. В окне печати выберите штатный шаблон, близкий к нужному, — проще всего начать с Brief, а если нужна таблица, то с Compact, — нажмите Мои шаблоны…, затем Создать мою копию этого шаблона…. Дайте копии имя — её папка откроется в Проводнике.
  2. Правьте файлы в любом текстовом редакторе, сохраняйте в UTF-8.
  3. Снова откройте Инструменты › Печать коллекции…: новое имя уже в списке, а предварительный просмотр показывает результат постранично — ровно так, как он выйдет из принтера.

Папка ваших шаблонов лежит в Документах, поэтому права администратора для правки не нужны. Ваш шаблон с тем же именем, что у штатного, заменяет его в списке.

Папка попадает в список, только если в ней есть 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 книг — без ограничения по времени.