Das CSS kannst du in einem Print Style hinterlegen, dann gilt das für alle Dokumente.
Das HTML ist für jeden DocType individuell. Es gibt keine Möglichkeit, per Knopfdruck alles auf DIN5008 umzustellen.
Nehmen wir an du erstellst dein Druckformat für Ausgangsrechnungen. Du entscheidest dich, die Vorlage für DIN5008 zu verwenden. Diese kümmert sich lediglich um das Layout, für den Inhalt bist du selbst verantwortlich. Dann kannst du dir überlegen, welche Felder des DocTypes Sales Invoice auf deiner Rechnung erscheinen sollen. Wenn du beispielsweise das Fälligkeitsdatum im PDF haben möchtest, fügst du an der entsprechenden Stelle im HTML {{ doc.get_formatted("due_date") }}
ein. Ob das im Fließtext, oben rechts oder in der Fußzeile ist, kannst du selbst entscheiden. Auf diese Weise verfährst du mit allen Feldern, bis deine Rechnung fertig ist.
Hier gibt es ein Beispiel, wie so etwas aussehen könnte. So könnte die Tabelle der Artikel aussehen:
<table class="table table-bordered">
<tbody>
<tr>
<!--
Pos Artikel Art.Nr. Menge Preis Summe
-->
<th>{{ _("Sr") }}</th>
<th>{{ _("Item Name") }}</th>
<th>{{ _("Item Code") }}</th>
<th class="text-right">{{ _("Qty") }}</th>
<th class="text-right">{{ _("Rate") }}</th>
<th class="text-right">{{ _("Amount") }}</th>
</tr>
{%- for row in doc.items -%}
<tr>
<!--
1 Schraube s123 10,00 Stk € 0,10 € 1,00
Halbrundkopf Kreuzschlitz
2 ...
-->
<td>{{ row.idx }}</td>
<td>
{{ row.item_name }}<br>
{{ row.description }}
</td>
<td>{{ row.item_code}}</td>
<td class="text-right">{{ row.qty }} {{ row.uom or row.stock_uom }}</td>
<td class="text-right">{{ row.get_formatted("rate", doc) }}</td>
<td class="text-right">{{ row.get_formatted("amount", doc) }}</td>
</tr>
{%- endfor -%}
</tbody>
</table>
Ja, es fehlen alle Inhalte, die Vorlage gibt lediglich das Layout vor.