Barcode-Ausgabe in FPDF hakt...

  • geschlossen

  • Trekki76
  • 1604 Aufrufe 3 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Barcode-Ausgabe in FPDF hakt...

    Hallo,

    ich möchte eine Material-Liste per FPDF als PHP-Dokument ausgeben.
    Dabei soll für jeden Artikel ein Barcode mit ausgeben werden.

    Bei meinem Script klappt dies leider nur bei jedem ersten Artikel einer Seite.
    Nach 8 Artikeln kommt eine neue Seite, dann klappt es wieder.

    Mein Script:

    PHP-Quellcode

    1. <?php
    2. session_start();
    3. //include ("checkuser.php");
    4. require('fpdf.php');
    5. $rang=$_SESSION['rang'];
    6. $name=$_SESSION['name'];
    7. include ("mysql.php");
    8. require ('code39.php');
    9. $feld=1;
    10. //pdf = new fpdf();
    11. $pdf = new PDF_Code39();
    12. $pdf->Open();
    13. $pdf->AddPage();
    14. $sql = "SELECT * FROM cms_material WHERE ettikettendruck='1' ORDER by artikel ASC";
    15. $result = mysql_query($sql);
    16. while($row=mysql_fetch_array($result)) {
    17. $artikelnummer=$row['artikelnummer'];
    18. $pdf->SetFont('Arial','B',12);
    19. $pdf->MultiCell(300,5," ");
    20. $pdf->MultiCell(300,5,'Artikel: '.$row['artikel']);
    21. $pdf->MultiCell(300,5,'Artikel-Nr: '.$row['artikelnummer']);
    22. $pdf->MultiCell(300,5,'Mind-Menge: '.$row['mindmenge']);
    23. $pdf->MultiCell(300,5," ");
    24. //$pdf=new PDF_Code39();
    25. $pdf->Code39(80,22,$artikelnummer,0,0,0.4,8);
    26. $pdf->MultiCell(300,5,"_________________________________________________________________________________________");
    27. $feld=$feld+1;
    28. if($feld>="9"){
    29. $feld=1;
    30. $pdf->AddPage();
    31. }
    32. }
    33. $pdf->Cell(10,10,'Ende der Liste');
    34. $pdf->Output();
    35. ?>
    Alles anzeigen


    Wie müsste ich das Script ändern, damit der Barcode bei jedem Artikel erscheint?

    Gruß

    Trekki

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Trekki76 () aus folgendem Grund: Gesuchte Hilfe erhalten

  • Hallo Trekki,

    hast du dir den Funktionsaufruf von Code39 mal angesehen?

    PHP-Quellcode

    1. Code39(float x, float y, string code [, boolean ext [, boolean cks [, float w [, float h [, boolean wide]]]]])

    fpdf.de schrieb:


    x: abscissa
    y: ordinate
    code: barcode value
    ext: indicates if extended mode must be used (true by default)
    cks: indicates if a checksum must be appended (false by default)
    w: width of a narrow bar (0.4 by default)
    h: height of bars (20 by default)
    wide: indicates if ratio between wide and narrow bars is high; if yes, ratio is 3, if no, it's 2 (true by default)



    PHP-Quellcode

    1. $pdf->Code39(80,22,$artikelnummer,0,0,0.4,8);

    bedeutet also:
    Erstelle einen Barcode an der Stelle (80, 22) mit dem Inhalt $artikelnummer. Extended mode soll nicht benutzt werden (hier sollte eigentlich "false" stehen), gleiches für die Checksum.
    Länge eines dünnen Balkens: 0.4, deren Höhe 8. Wide ist default (true).

    Das bedeutet, dass du alle Barcodes an die Stelle (80,22) schreibst und diese sich somit überdecken. Du solltest also die y-Koordinaten bei jedem Schleifendurchlauf erhöhen.

    Ich hoffe, ich konnte dir ein bisschen damit helfen :)

    Viele Grüße

    underattack