Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Cum sa printez etichete folosind php?
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Incepători
Subiectul anterior :: Subiectul următor  
Autor Mesaj
Mett



Data înscrierii: 07/Apr/2005
Mesaje: 48

Trimis: Mar Mai 20, 2008 4:21 pm    Titlul subiectului: Cum sa printez etichete folosind php?  

Salut

M-am poticnit la o problema total noua pentru mine. Aplicatia permite generarea de informatii care ar trebui sa fie printate pe niste etichete. Problema mea este ca nu reusesc sa potrivesc informatia din pagina a.i sa fie exact cat eticheta (sau macar sa intre in cadrul etichetei). Cred ca am consumat un top de hartie si tot nu i-am dat de cap mutand tabela sus, jos, stanga, dreapta etc (din css) :)

Ca sa ma explic mai clar: pagina de etichete cuprinde 6 etichete, pe doua coloane. Pagina php este o singura tabela care se repeta de 6 ori si se afiseaza in doua coloane. Cum fac ca tabela sa fie exact cat o eticheta? Marimea etichetei este aceeasi pentru inaltime si latime: 7.5 cm. Intre randurile si coloanele de etichete exista un spatiu de 2 cm

Multumesc
Sus  
Pirahna



Data înscrierii: 22/Aug/2004
Mesaje: 4553
Locație: la birou

Trimis: Mie Mai 21, 2008 9:05 am    Titlul subiectului:  

pai ... folosesti un css pentru print (stylesheet cu media=print), te duci la page setup in browser si scoti ce nu ai nevoie sa apara pe pagina, dai print, selectezi formatul (A4 zic eu ca ar fi bine), tiparesti ...

dupa care modifici dimensiunile etichetelor (sau ce vrei tu sa tiparesti) pana apar cat vrei tu de mari pe poza ... poti sa folosesti evident o rigla si sa calculezi cat reprezina un cm in pixeli ...

cam astia sunt pasii ...

ai putea pentru teste sa tragi niste linii din css de diferite dimensiuni ...
300px, 400px, 500px ... si sa vezi care e cea mai apropiata de 7.5 cm
Sus  
ebogdan



Data înscrierii: 27/Iul/2006
Mesaje: 151

Trimis: Joi Mai 22, 2008 10:31 am    Titlul subiectului:  

Uhm, CSS suportă centimetri.. așa că pui dimensiunea la ce ai tu nevoie (body, tabelu cu etichete, etichetele în sine) direct în cm.

http://www.w3schools.com/css/css_units.asp - pentru unitățile de măsură suportate în CSS.

Și un tutorial despre cum să faci un CSS separat pentru printer:
http://www.alistapart.com/stories/goingtoprint/
Sus  
Mett



Data înscrierii: 07/Apr/2005
Mesaje: 48

Trimis: Joi Sep 25, 2008 12:02 pm    Titlul subiectului:  

Salve din nou.

Din pacate, nu reusesc sub nici o forma sa potrivesc etichetele in formatul predefinit (vezi imaginea de aici http://www.bids.ro/images/eticheta.JPG, nu pot adauga atasament)

Etichetele trebuie afisate pe doua coloane si trei randuri

Asta e codul pentru afisare:

Cod: <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<?php
$count = 0;
$max = 2;
do {

$count++;
?>
<td width="45%"><blockquote>
<?php echo $row_rs_phones['phone'];?></blockquote>

<div class="margini" id="margini" align="justify">
    <table width="100%" align="left" cellpadding="0" cellspacing="0"  class="fabrikTable">
    <td width="31%" class="oddrow1"><?php echo round(($row_rs_phones['achizitie_doi_ani_clasa_patru']*$row_rs_phones['curs_valutar'] *1.19),2);?> lei</td>
    <td width="69%"  class="oddrow1">preț cu abonament pe  2 ani, clasa patru</td>
    </tr>
<tr>
  <td class="oddrow1"><?php if ($row_rs_phones['achizitie_doi_ani_clasa_unu'] == '-1') echo "N/A"; else echo round(($row_rs_phones['achizitie_doi_ani_clasa_unu']*$row_rs_phones['curs_valutar'] *1.19),2)." lei"; ?></td>
  <td  class="oddrow1">preț cu abonament pe  2 ani, clasa unu </td>
  </tr>
<tr>
  <td class="oddrow1"><?php echo round(($row_rs_phones['fara_abonament']*$row_rs_phones['curs_valutar'] *1.19),2); ?> lei</td>
  <td  class="oddrow1">preț fara abonament</td>
</tr>
<tr>
  <td colspan="2"  class="oddrow1">Prețurile conțin TVA. Ofertă valabilă în limita stocului disponibil</td>
</tr>
</table>
</div>
</td>
<?php
if($count >= $max){
  //reset counter
   $count = 0;
  //end and restart
   echo '</tr><tr>';
}


} while ($row_rs_phones = mysql_fetch_assoc($rs_phones)); ?>
</tr>
</table>

Asta e css

Cod:
table.fabrikTable{
   border-collapse:collapse;
   margin-bottom:2px;
}

table.fabrikTable td,
table.fabrikTable th{
   padding:1px !important;
   border:1px solid #cccccc;
}

table.fabrikTable tr.fabrik_calculations td{
   border:0 !important;
}


.fabrikTable a.fabrikorder-desc{
   background: transparent url(images/orderdesc.png) no-repeat right;
   padding-right:1px;
}

.fabrikTable a.fabrikorder-asc{
   background: transparent url(images/orderasc.png) no-repeat right;
   padding-right:1px;
}


.oddrow0{
   background-color:#FAFAFA;
}

.oddrow1{
   background-color:#Efefef;
   font-size: 16px;
}
.style2 {
   font-size: 9px;

   font-family:Verdana, Arial, Helvetica, sans-serif;
}
.style1 {
   font-size: 10px;
   font-weight: bold;
   font-family:Verdana, Arial, Helvetica, sans-serif;
}


div.margini {
   margin-left: 0.8cm;
   margin-top: 1.5cm;
   margin-right: 1cm;
   margin-bottom: 1.2cm;
}
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2605
Locație: Bucuresti

Trimis: Joi Sep 25, 2008 12:09 pm    Titlul subiectului:  

problema asemanatoare am avut si eu pana m-am hotarat sa generez ce am nevoie ca pdf si asa am scapat de probleme... foloseste o clasa de generat pdf (fpdf de exemplu) si asa poti fi sigur ca pe orice imprimanta din orice browser iese la fel...
Sus  
Mett



Data înscrierii: 07/Apr/2005
Mesaje: 48

Trimis: Joi Sep 25, 2008 12:26 pm    Titlul subiectului:  

Salut. Imi poti da un exemplu, te rog?
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2605
Locație: Bucuresti

Trimis: Joi Sep 25, 2008 12:29 pm    Titlul subiectului:  

pai in loc sa trimiti datele la browser cu cod html si css le trimiti ca pagina de pdf...
vezi tutorialele de aici http://www.fpdf.org/en/tutorial/index.php
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Incepători
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community