A5 Paper Size Printing from email settings

Could you please share the Code for A5 theme if you are working on this.I don’t have any understanding of programming.

Thanks in advance, appreciate your effort.

@PRASOON_AGARWAL, your post was edited to remove your email address. If you wish to communicate privately with another forum member, use the personal message feature.

I don’t have an A5 to test with but wouldn’t your printer be able to resize it appropriately? Alternatively your PDF software would be able to print it downscale to A5 also.

Not sure if this is still helpful but I wrote mine after reading this post last month and it should work for all

For POS 58 Printer - Receipt Theme

Setup: Go to the Themes section of Manager settings page, click on the New Theme button, copy the code below and paste in the Theme Textarea then Choose a name of your choice for the theme and click Create to save.

Usage: Go to Forms Default section of Manager settings page, look for Payment or Receipt and click Edit scroll down and Mark the Check box for Custom Theme, then Select the Theme you just added from the dropdown under the Custom Theme check box.

<table style="background-color: #FFFFFF: width: 50px; color: #000000; text-transform: UPPERCASE">
{% assign description = null %}
{% assign amount = null %}
<thead>
 <tr>
  <td>
    <div style="text-align: center; width: 250px; word-wrap: break-word; margin-top: 3; margin-bottom: 30px">
        <div style="font-size: 20px; font-weight: bold; margin: 5px 0 10px 0">{{ business.name }}</div>
        <div>{{ business.address | replace: "\n", " " }}</div>
        <div style="font-weight: bold; font-size: 15px; padding: 5px; text-align: center; margin-bottom: 0px color: #000000; margin-top: 30px">{{ title }}</div>
        <div style="font-weight: bold; margin-top: 20px">Customer Name: <span style="font-weight: normal">{{ recipient.name }}</span></div>
    </div>
  </td>
</tr>
<tr>
  <td>
    <div style="text-align: center; width: 250px; word-wrap: break-word; margin-bottom: 30px">
      {% for field in fields %}
      <div style="display: inline-block">
        <div style="font-weight: bold; float: left; margin-right: 5px">{{ field.label }}: </div>
        <div style="float:left; margin-bottom: 10px; margin-right: 5px">{{ field.text }}</div>
      </div>
      {% endfor %}
  </td>
</tr>
<tr>
  <div style="width: 250px; word-wrap: break-word; margin-bottom: 30px">
    <div style="max-width: 100%; margin: 0 auto">

    </div>
    <td style="font-weight: bold; color: #000000; text-align: left; padding-left: 0px; padding-right: 0px; width: inherit; margin: 0 auto;">
      <div style="width: 280px;">
       {% for column in table.columns %}
            {% case column.label %}
                {% when 'Description' %}
                    {% assign description = forloop.index0 %}
                    <span style="display: block; word-wrap: break-word; width: 70%; float:left">{{ column.label }}</span>
                {% when 'Total' or 'Amount' %}
                    {% assign amount = forloop.index0 %}
                    <span style="display: block; word-wrap: break-word; width: 30%; float:left">Amount</span>
            {% endcase %}
        {% endfor %}
      </div>
    </td>
  </div>
</tr>
</thead>
<tbody>
  {% for row in table.rows %}
  <tr>
  <div style="width: 250px; word-wrap: break-word; margin: 0px 0px 20px 0px; clear: both">
    <div style="max-width: 100%; margin: 0 auto">
      <td style="color: #000000; text-align: left; padding-left: 0px; padding-right: 3px; width: inherit; margin: 0 auto;">
        <div style="width: 280px">
        {% for cell in row.cells %}
            {% case forloop.index0 %}
                {% when description %}
                    <span style="display: block; word-wrap: break-word; width: 70%; float:left">{{ cell.text }}</span>
                {% when amount %}
                    <span style="display: block; word-wrap: break-word; width: 30%; float:left">{{ cell.text }}</span>
            {% endcase %}
        {% endfor %}
        </div>
      </td>
    </div>
  </div>
 </tr>
  {% endfor %}
{% for total in table.totals %}
<tr>
  <div style="width: 300px; word-wrap: break-word; clear: both">
    <div style="max-width: 100%; margin: 0 auto">
      <td style="text-align: left; font-weight: bold; font-size: 13px">
        <div style="width: 250px">
          <span style="display: block; float:left; width: 70%; margin-top: 20px; margin-bottom: 15px;">{{ total.label }}:</span>
          <span style="display: block; float:left; width: 30%; margin-top: 20px; margin-bottom: 15px;">{{ total.text }}</span>
        </div>
      </td>
    </div>
  </div>
</tr>
{% endfor %}
<tr>
  <div style="width: 300px; word-wrap: break-word; margin-bottom: 20px">
    <div style="max-width: 100%; margin: 15px auto 0 auto">
      <td>
        <div style="padding-left: 2px; width: 280px; word-wrap: break-word">
          {% for field in custom_fields %}
          <div style="font-weight: bold; margin-top: 15px">{{ field.label }}</div>
          <div style="padding-bottom: 20px; margin-top: 15px">{{ field.text | newline_to_br }}</div>
          {% endfor %}
        </div>
      </td>
      </div>
    </div>
</tr>
<tr>
  <div style="width: 300px; word-wrap: break-word; margin: 0px 0px 10px 0px">
    <div style="max-width: 100%; margin: 15px auto 15px auto">
      <td>
        <div style="padding-left: 4px; width: 250px; word-wrap: break-word; text-align: center">
          <p><b>Thank you for choosing {{ business.name }}.</b></p>
        </div>
      </td>
      </div>
    </div>
 </tr>
</tbody>
</table>
2 Likes

No this does not return desired result. it will shrink the printed document but the text and all other on the printed document would be so small almost unreadable even at this it still cuts out some part.

1 Like

I created a second one for invoices because i needed three columns in my invoice printout which is description, qty and amount. Qty column does not work on receipt as it is not available for preview even in the built in theme. Find it below;

For POS 58 Printer - Invoice Theme

Setup: Go to the Themes section of Manager settings page, click on the New Theme button, copy the code below and paste in the Theme Textarea then Choose a name of your choice for the theme and click Create to save.

Usage: Go to Forms Default section of Manager settings page, look for Sales Invoice and click Edit scroll down and Mark the Checkbox for Custom Theme, then Select the Theme you just added from the dropdown under the Custom Theme checkbox.

<table style="background-color: #FFFFFF: width: 50px; color: #000000; text-transform: UPPERCASE">
{% assign description = null %}
{% assign qty = null %}
{% assign amount = null %}
<thead>
  <tr>
    <td>
     <div style="text-align: center; width: 250px; word-wrap: break-word; margin-top: 3; margin-bottom: 30px">
        <div style="font-size: 20px; font-weight: bold; margin: 5px 0 10px 0">{{ business.name }}</div>
         <div>{{ business.address | replace: "\n", " " }}</div>
        <div style="font-weight: bold; font-size: 15px; padding: 5px; text-align: center; margin-bottom: 0px color: #000000; margin-top: 30px">{{ title }}</div>
        <div style="font-weight: bold; margin-top: 20px">Customer Name: <span style="font-weight: normal">{{ recipient.name }}</span></div>
    </div>
   </td>
 </tr>
 <tr>
   <td>
       <div style="text-align: center; width: 250px; word-wrap: break-word; margin-bottom: 30px">
        {% for field in fields %}
       <div style="display: inline-block">
        <div style="font-weight: bold; float: left; margin-right: 5px">{{ field.label }}: </div>
        <div style="float:left; margin-bottom: 10px; margin-right: 5px">{{ field.text }}</div>
      </div>
      {% endfor %}
    </td>
  </tr>
   <tr>
  <div style="width: 250px; word-wrap: break-word; margin-bottom: 30px">
    <div style="max-width: 100%; margin: 0 auto">

    </div>
    <td style="font-weight: bold; color: #000000; text-align: left; padding-left: 0px; padding-right: 0px; width: inherit; margin: 0 auto;">
      <div style="width: 280px;">
       {% for column in table.columns %}
            {% case column.label %}
                {% when 'Description' %}
                    {% assign description = forloop.index0 %}
                    <span style="display: block; word-wrap: break-word; width: 53%; float:left">{{ column.label }}</span>
                {% when 'Qty' %}
                    {% assign qty = forloop.index0 %}
                    <span style="display: block; word-wrap: break-word; width: 17%; float:left">{{ column.label }}</span>
                {% when 'Total' or 'Amount' %}
                    {% assign amount = forloop.index0 %}
                    <span style="display: block; word-wrap: break-word; width: 30%; float:left">Amount</span>
            {% endcase %}
        {% endfor %}
      </div>
    </td>
    </div>
   </tr>
 </thead>
 <tbody>
{% for row in table.rows %}
<tr>
  <div style="width: 250px; word-wrap: break-word; margin: 0px 0px 20px 0px; clear: both">
    <div style="max-width: 100%; margin: 0 auto">
      <td style="color: #000000; text-align: left; padding-left: 0px; padding-right: 3px; width: inherit; margin: 0 auto;">
        <div style="width: 280px">
        {% for cell in row.cells %}
            {% case forloop.index0 %}
                {% when description %}
                    <span style="display: block; word-wrap: break-word; width: 53%; float:left">{{ cell.text }}</span>
                {% when qty %}
                    <span style="display: block; word-wrap: break-word; width: 17%; float:left">{{ cell.text }}</span>
                {% when amount %}
                    <span style="display: block; word-wrap: break-word; width: 30%; float:left">{{ cell.text }}</span>
            {% endcase %}
        {% endfor %}
        </div>
      </td>
    </div>
    </div>
   </tr>
   {% endfor %}
   {% for total in table.totals %}
  <tr>
  <div style="width: 300px; word-wrap: break-word; clear: both">
    <div style="max-width: 100%; margin: 0 auto">
      <td style="text-align: left; font-weight: bold; font-size: 13px">
        <div style="width: 250px">
          <span style="display: block; float:left; width: 70%; margin-top: 20px; margin-bottom: 15px;">{{ total.label }}:</span>
          <span style="display: block; float:left; width: 30%; margin-top: 20px; margin-bottom: 15px;">{{ total.text }}</span>
        </div>
      </td>
    </div>
  </div>
</tr>
{% endfor %}
<tr>
  <div style="width: 300px; word-wrap: break-word; margin-bottom: 20px">
    <div style="max-width: 100%; margin: 15px auto 0 auto">
      <td>
        <div style="padding-left: 2px; width: 280px; word-wrap: break-word">
          {% for field in custom_fields %}
          <div style="font-weight: bold; margin-top: 15px">{{ field.label }}</div>
          <div style="padding-bottom: 20px; margin-top: 15px">{{ field.text | newline_to_br }}</div>
          {% endfor %}
        </div>
      </td>
      </div>
    </div>
</tr>
<tr>
  <div style="width: 300px; word-wrap: break-word; margin: 0px 0px 10px 0px">
    <div style="max-width: 100%; margin: 15px auto 15px auto">
      <td>
        <div style="padding-left: 4px; width: 250px; word-wrap: break-word; text-align: center">
          <p><b>Thank you for choosing {{ business.name }}.</b></p>
        </div>
      </td>
      </div>
    </div>
</tr>
</tbody>
</table>

There are three major types of POS thermal printers, the smallest if POS-58, middle on is POS-70 and the biggest is POS-80.

The themes I shared are based on POS-58. If you need for other Thermal printer types please let me know.

If you know HTML and CSS you can simply increase the width: CSS property value until you get the desired size.

Thank you.

7 Likes

This is very helpful. Thank you

1 Like

Thanks a lot Friend This Helps. But i have started using diffrent theme in which i use Two copies on same A4 Sheet using normal printer.
Thanks Again

Exactly. I do that too

in this theme Quantity column does not work please help me

when change language QTY not shown

Can you share an image of the invoice? does it show qty when the language is english? i need more details to help with your issue.

TEST-BUISS — Tema — Ver.pdf (45.6 KB)

no problem in english language but when change to another languages Quantity disable

any update

I have seen where the problem is my code in the theme is based only on english so other languages will not work. I can fix it but first you have to tell me the other language you want to use with the theme aside from english.

Thank you for reply, i need in portuguesa language

A quarta, 11/11/2020, 00:18, Adeyanju Segun Samuel via Manager Forum <manager1@discoursemail.com> escreveu:

i need for portuguese

any update

@Shamsuddin_Esaf @shamsuddin_esaf1

I have been a bit busy lately.

Please use the one below supports Portuguese, Indonesia and English for now.

I don’t have enough time to make it compatible with all languages on manager but I will keep a record of this and add languages when a request like you did.