phppimaco
phppimaco copied to clipboard
Travar uma P para não quebrar linha
Olá senhores.
Gostaria de sugerir uma alteração no objeto P para a geração das etiquetas. Eu estou tendo problemas quando o texto contido em uma etiqueta ultrapassa uma linha, então o comportamento natural é que ele continue na linha de baixo, mas quando isso acontece, quebra por completo as etiquetas.
Teria como adicionar uma funcionalidade para que o P não quebre linhas? Seria interessante que ele truncasse o texto semelhante ao comportamento elipse do HTML.
Desde já agradeço.
Oi @kalilmaciel Você poderia colocar um exemplo do codigo que você está utilizando para gera essas etiquetas?
Principalmento o modelo utiluizado e se possivel o codigo completo para eu replicar o mesmo problema que você está passando, quero dar uma examinada e avaliar a tua sugestão
Obrigado pelo feedback
Olá Senhores.
Segue abaixo o trecho do código onde eu uso a geração de etiquetas. Eu preciso fazer um ajuste para cada tamanho diferente de etiquetas. Um dos ajustes que eu preciso fazer é truncar a quantidade de caracteres que deve aparecer para que não haja uma quebra de linha. Mas esse tipo de coisa que eu faço as vezes pode gerar problema porque o truncamento pode não sair perfeito.
`public function etiquetas_produtos($tipo = '6182', $lista = array()) { $pimaco = new Pimaco($tipo);
foreach ($lista as $prod) {
$tag = new Tag();
if ($prod->exibir_codigo_barras == '1') {
$bc = $tag->barcode($prod->codigo_barras);
$bc->setMargin(0.5);
$bc->br();
}
switch ($tipo) {
case "A4356":
$tag->align = "center";
$t = $tag->p($prod->codigo_barras);
$t->br();
$t = $tag->p(substr($prod->nome, 0, 32));
$t->br();
if ($prod->exibir_preco_venda == '1') {
$pv = $tag->p("R$ " . number_format(floatval($prod->preco_vista), 2, ',', '.'));
}
break;
case "A4349":
$tag->align = "center";
$t = $tag->p($prod->codigo_barras);
$t->br();
$t = $tag->p(substr($prod->nome, 0, 15));
$t->br();
if ($prod->exibir_preco_venda == '1') {
$pv = $tag->p("R$ " . number_format(floatval($prod->preco_vista), 2, ',', '.'));
}
break;
case "A4251":
$tag->align = "center";
$t = $tag->p($prod->codigo_barras);
$t->br();
$t = $tag->p(substr($prod->nome, 0, 27));
$t->br();
if ($prod->exibir_preco_venda == '1') {
$pv = $tag->p("R$ " . number_format(floatval($prod->preco_vista), 2, ',', '.'));
}
break;
case "A4263":
$tag->align = "center";
$t = $tag->p($prod->codigo_barras);
$t->br();
$t = $tag->p(substr($prod->nome, 0, 90));
$t->br();
if ($prod->exibir_preco_venda == '1') {
$pv = $tag->p("R$ " . number_format(floatval($prod->preco_vista), 2, ',', '.'));
}
break;
case "6187":
$bc->setHeight(18.0);
$tag->align = "center";
$linha = $prod->codigo_barras .
" | " .
($prod->exibir_preco_venda == '1' ? "R$ " . number_format(floatval($prod->preco_vista), 2, ',', '.') : '');
$t = $tag->p($linha);
$t->br();
$t = $tag->p(substr($prod->nome, 0, 25));
break;
default:
$tag->align = "center";
$t = $tag->p($prod->codigo_barras);
$t->br();
$t = $tag->p($prod->nome);
$t->br();
}
$pimaco->addTag($tag);
}
$pimaco->output();
}`
Olá amigo. Alguma posição sobre a issue? Se eu puder ajudar em alguma coisa por favor me avisa.