Printing

All My Books prints two different things: one book card, or the whole collection as a report. Both use the same window and the same set of templates in the reports_html folder — the card templates and the collection templates are simply kept apart.

Printing a book card

Select the book and choose Book › Print book card… (Ctrl+Alt+P). The window opens with the three card templates — Card, Card Compact and Card Cover — and a preview of the current book. The arrows at the top page through the collection, so you can check several cards without closing the window. Print, or save the card as PDF or HTML.

Printing the collection

  1. Filter the collection down to what you want on paper — only visible books are printed.
  2. Choose Tools › Print collection… (F7).
  3. Pick a Report template. The preview redraws as you change it; the arrows page through the report, and the zoom box switches between fit-width, whole page and fixed zoom.
  4. Click Print…, or Save to PDF…, or Save to HTML….
Print collection window with a report template preview
The same window prints, saves a PDF and saves an HTML report.

Report templates

Twelve templates cover the collection, and they fall into two kinds:

Compact, Compact 2, Brief, Standard, Detailed Text lists, from one line per book to full details. What you want for an inventory or an insurance list.
Album Brief, Album Standard, Album Detailed, Covers, Covers Small, Covers Only, Spines Cover-led layouts — a picture catalog of the collection.

The remaining three, Card, Card Compact and Card Cover, are the single-book layouts and appear only when you print a card.

Current book only limits a collection report to the selected book.

The design of the card on screen is a different thing: it comes from View › HTML template and the templates in the bookcards folder. Changing it does not change what comes out of the printer.

Print to PDF rather than to paper when you want to keep a copy: the same templates, no ink, and a file you can e-mail. Other export formats are in Exporting.

Making your own report template

A template is not a closed format: it is three HTML files in a folder, and anything you can write in HTML you can print. Version 5 had a visual report designer instead. It belonged to the old printing engine, hardly anyone ever opened it, and it could not be carried over to the current codebase — so plain HTML took its place. Fewer buttons, rather more control.

Templates live in the program folder, in reports_html — usually C:\Program Files (x86)\AllMyBooks\reports_html. One subfolder is one template, and the name of the folder is exactly what you see in the template list. Inside are three files:

header.html The start of the document — <head>, the report heading and all the CSS. Printed once, at the top.
book.html The block for one book. Printed once per book, in the order the collection is sorted in.
footer.html The end of the document, usually nothing but the closing tags.
  1. Copy one of the stock folders — Brief is an easy starting point, Compact if you want a table — and rename the copy to whatever the template should be called in the list.
  2. Edit the files in any text editor and save them as UTF-8.
  3. Open Tools › Print collection… again. The new name is in the list, and the preview shows the result page by page, exactly as it will come out of the printer.

About administrator rights. Program Files is a protected folder, so Windows will ask for confirmation when you copy a template folder into it, and a plain text editor will simply refuse to save there. Two ways round it: start the editor as administrator (right-click › Run as administrator) and open the file from there, or — usually easier — build the template in a folder of your own, say on the Desktop, and copy the finished folder into reports_html, confirming the prompt Windows shows. If you installed All My Books somewhere outside Program Files, none of this applies.

Copy a template instead of editing one that ships with the program. An update rewrites the stock folders and your changes to them would go with it, while a folder under a name of your own is never touched.

A folder appears in the list only if it contains book.html. Names that start with Card go to the card window instead of the collection report.

Fields

Book data goes into the template as placeholders that look like HTML comments. Mind the space before -->:

<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>
PlaceholdersWhat they print
title, originaltitle, subject,
synopsis, comments, contents
Title, original title, genre, synopsis, your comments, table of contents.
authors, editors,
translators, illustrators
The people, already joined into one line.
publisher, year, yearp, language,
pages, isbn, binding, dimensions,
circulation
Publication data. yearp is the year in brackets, and prints nothing when the year is unknown — handy for headings like Title (1979).
series, volume, booknumber The series, the volume in it and your own numbering.
rating, myrating, unread,
wishlist, dateread, personalmarks
Ratings and marks. The yes/no ones print a translated «Yes» when set, and nothing at all when not.
price, filesize, playtime, location,
lentto, dateadded, url,
loc, dewey, bookid
Everything else stored with the book. Empty values print as nothing, not as a zero.
cover The cover. This one expands into a whole <img> tag, so give it the size you want: <!--#cover width="85" -->. Books without a cover print nothing.
ud_<name> One of your own fields — <!--#ud_Shelf --> for a custom field called Shelf. Works for field names without spaces.
reporttitle, date,
totalbooks, row
The report itself: the database name, the current date, how many books are in the report, and the number of the book being printed. The first three belong in header.html, row in book.html.

Every field that has a caption in the program also has a label placeholder: add _lbl to the name and you get that caption translated into the interface language — <!--#pages_lbl --> prints Pages in English and Seiten in German. Write your labels this way and the template works in every language the program is translated into.

Two attributes can be added inside a placeholder:

maxlen=200 <!--#synopsis maxlen=200 --> cuts a long value at a word boundary and adds an ellipsis. Useful when a layout has to fit on one page.
skipsame <!--#originaltitle skipsame --> prints nothing when the value is the same as the title — which, for most books, it is.

Page setup and empty fields

Four directives control the printed page. Put them anywhere in the template; they are stripped from the output:

<!--#option crop-empty-lines --> Drop a line of the template completely when all the fields on it came out empty. Without it, a book with no series prints an empty Series: line.
<!--#option landscape --> Ask for landscape paper. The cover-led templates use it.
<!--#option paper a4 --> Ask for A4 — for layouts whose physical size matters.
<!--#option margins 8 --> Page margins in millimetres. The default is 15.

Cropping works on whole lines of the template file, not on single placeholders. Two fields written on the same line stand or fall together, so give each field a line of its own if you want them dropped independently.

Page breaks are ordinary CSS. page-break-inside: avoid on the book block keeps a book from being split across two pages, and page-break-before: always starts a new page — that is all the stock templates use. Sizes given in mm come out exact on paper, so use millimetres when the physical size matters; sizes in pixels are exact only at 96 dpi.

The print engine is not a web browser. It renders a practical subset of HTML and CSS — tables, fonts, colours, borders, margins, images, floats — but not modern layout such as flexbox or CSS grid, and no JavaScript. Build the layout the way the stock templates do, with tables and simple CSS, and the preview will show you exactly what prints.

You do not have to know HTML for this. Open a stock template, paste the contents into ChatGPT, Claude or any other assistant and describe the change you want — «add the date read», «put the cover on the right», «make it two columns». Save the answer into your own template folder, and the preview tells you at once whether it worked; if it went wrong, delete the folder and nothing is lost. And if you would rather not fight with it at all, describe the report you need on the feedback form and we will put the template together for you.

DOWNLOAD

Free to try. Catalog up to 100 books at no cost, forever.