phppimaco icon indicating copy to clipboard operation
phppimaco copied to clipboard

Travar uma P para não quebrar linha

Open kalilmaciel opened this issue 4 years ago • 3 comments

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.

WhatsApp Image 2020-06-25 at 13 28 16

kalilmaciel avatar Jun 25 '20 16:06 kalilmaciel

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

dbemfica avatar Jun 28 '20 15:06 dbemfica

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();
}`

kalilmaciel avatar Jun 28 '20 16:06 kalilmaciel

Olá amigo. Alguma posição sobre a issue? Se eu puder ajudar em alguma coisa por favor me avisa.

kalilmaciel avatar Oct 23 '20 13:10 kalilmaciel