public function fbarcode($valor, FPDF $PDF) { $fino = UnidadeMedida::px2milimetros(1); // valores em px $largo = UnidadeMedida::px2milimetros(2.3); // valor em px $altura = UnidadeMedida::px2milimetros(40); // valor em px $barcodes[0] = "00110"; $barcodes[1] = "10001"; $barcodes[2] = "01001"; $barcodes[3] = "11000"; $barcodes[4] = "00101"; $barcodes[5] = "10100"; $barcodes[6] = "01100"; $barcodes[7] = "00011"; $barcodes[8] = "10010"; $barcodes[9] = "01010"; for ($f1 = 9; $f1 >= 0; $f1--) { for ($f2 = 9; $f2 >= 0; $f2--) { $f = $f1 * 10 + $f2; $texto = ""; for ($i = 1; $i < 6; $i++) { $texto .= substr($barcodes[$f1], $i - 1, 1) . substr($barcodes[$f2], $i - 1, 1); } $barcodes[$f] = $texto; } } // Guarda inicial $PDF->Image(Gerador::getDirImages() . '/p.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura); $PDF->SetX($PDF->GetX() + $fino); $PDF->Image(Gerador::getDirImages() . '/b.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura); $PDF->SetX($PDF->GetX() + $fino); $PDF->Image(Gerador::getDirImages() . '/p.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura); $PDF->SetX($PDF->GetX() + $fino); $PDF->Image(Gerador::getDirImages() . '/b.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura); $PDF->SetX($PDF->GetX() + $fino); $texto = $valor; if (strlen($texto) % 2 != 0) { $texto = "0" . $texto; } // Draw dos dados while (strlen($texto) > 0) { $i = round(Substr::esquerda($texto, 2)); $texto = Substr::direita($texto, strlen($texto) - 2); $f = $barcodes[$i]; for ($i = 1; $i < 11; $i += 2) { if (substr($f, $i - 1, 1) == "0") { $f1 = $fino; } else { $f1 = $largo; } $PDF->Image(Gerador::getDirImages() . '/p.png', $PDF->GetX(), $PDF->GetY(), $f1, $altura); $PDF->SetX($PDF->GetX() + $f1); if (substr($f, $i, 1) == "0") { $f2 = $fino; } else { $f2 = $largo; } $PDF->Image(Gerador::getDirImages() . '/b.png', $PDF->GetX(), $PDF->GetY(), $f2, $altura); $PDF->SetX($PDF->GetX() + $f2); } } // Draw guarda final $PDF->Image(Gerador::getDirImages() . '/p.png', $PDF->GetX(), $PDF->GetY(), $largo, $altura); $PDF->SetX($PDF->GetX() + $largo); $PDF->Image(Gerador::getDirImages() . '/b.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura); $PDF->SetX($PDF->GetX() + $fino); $PDF->Image(Gerador::getDirImages() . '/p.png', $PDF->GetX(), $PDF->GetY(), $fino, $altura); $PDF->SetX($PDF->GetX() + $fino); $PDF->Image(Gerador::getDirImages() . '/b.png', $PDF->GetX(), $PDF->GetY(), UnidadeMedida::px2milimetros(1), $altura); $PDF->SetX($PDF->GetX() + UnidadeMedida::px2milimetros(1)); }