POS/RECEIPT printer problem

Hi to all I´m new here!!
I´m just migrating to this exceptional Dolibarr but I´ve a big problem because under TPV/POS module, the print results of the receipt/ticket with the pos printer its very very bad. I use a Bixolon srp 370 under w7 64 and I hace some problems. The printer prints literally a webpage , its a little legible because the words are tiny and don´t cut the ticket when lines last, it cuts the ticket at the end of a page allways with the same size.

Someboy knows a solution to have real tickets/receipt with tpv/pos module???

I’m afraid it will be difficult for us to fix this because we don’t own this hardware. But if someone can suggest a fix, we will include it into standard version.

Ok thank you, I think that some people must be using this with any ticket/pos printer, please share the way to do it!!!

I made some changes to the archive that generate the receipts, now the head its ok but the product/price listing continues so smallll, please some coding expert can help me to change listing text size???

This is the self modified code:



<?php $langs-\>load("main"); header("Content-type: text/html; charset=".$conf-\>file-\>character_set_client); ?\> Print ticket body { font-size: 30px; position: relative; } .entete { /\* position: relative; */ } .adresse { /\* float: left; */ font-size: 30px; } .date_heure { position: absolute; top: 0; right: 0; font-size: 30px; } .infos { position: relative; } .liste_articles { width: 100%; border-bottom: 1px solid #000; text-align: center; } .liste_articles tr.titres th { border-bottom: 1px solid #000; } .liste_articles td.total { text-align: right; } .totaux { margin-top: 1px; width: 100%; float: right; text-align: right; } .lien { position: absolute; top: 0; left: 0; display: none; } @media print { .lien { display: none; } }
<?php print ''; ?\>

<?php echo $mysoc-\>name; ?\> <?php echo $mysoc-\>address; ?\> <?php echo $mysoc-\>zip.' '.$mysoc-\>town; ?\> <?php // Recuperation et affichage de la date et de l'heure $now = dol_now(); print '

'.dol_print_date($now,'dayhourtext').''; ?\>

<?php print $langs-\>trans("Code"); ?\><?php print $langs-\>trans("Label"); ?\><?php print $langs-\>trans("Qty"); ?\><?php print $langs-\>trans("Discount").' (%)'; ?\><?php print $langs-\>trans("TotalHT"); ?\> <?php // Variables $res = $db-\>query ( 'SELECT id, ref, label, qte, price, remise_percent, remise, total_ht, total_ttc, tva_tx FROM '.MAIN_DB_PREFIX.'pos_tmp as c LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON c.fk_article = p.rowid ORDER BY id'); if ( $db-\>num_rows($res) ) { $ret=array(); $i=0; while ( $tab = $db-\>fetch_array($res) ) { foreach ( $tab as $cle =\> $valeur ) { $ret[$i][$cle] = $valeur; } $i++; } $tab = $ret; $tab_size=count($tab); for($i=0;$i < $tab_size;$i++) { $remise = $tab[$i]['remise']; echo (''.$tab[$i]['ref'].''.$tab[$i]['label'].''.$tab[$i]['qte'].''.$tab[$i]['remise_percent'].'
'.price2num($tab[$i]['total_ht'],'MT').' '.$conf-\>monnaie.''."\n"); } } else { echo ('Erreur : aucun article'."\n"); } ?\> <?php echo '
'.$langs-\>trans("TotalHT").' '.price2num($obj_facturation-\>prix_total_ht(),'MT')." ".$conf-\>monnaie."\n"; echo ' '.$langs-\>trans("TotalVAT").' '.price2num($obj_facturation-\>montant_tva(),'MT')." ".$conf-\>monnaie."\n"; echo ' '.$langs-\>trans("TotalTTC").' '.price2num($obj_facturation-\>prix_total_ttc(),'MT')." ".$conf-\>monnaie."\n"; ?\> window.print(); Fermer cette fenetre ------------------------------------------ ------------------------------------------

Ok. This seems to be a usual problem with web-based pos applications.

For the record. Usually POS application communicates directly with hardware. WebPOS can not do this.

It means You should prefer receipt printers with working drivers under Windows (usually I should prohibit You to install any drivers at all). You should also look for LPT-printer.

Then You should have Firefox plugin “JS Print Setup” there and set. It helps. To the best, but not to an ideal

What I used to make our Dolibarr print on a Receipt printer is a Chrome Extension “PrintWhatYouLike” to isolate the printing areas of the invoice