[RESOLVIDO] Problemas ao gerar PDF

4 respostas
von.juliano

Pessoal, preciso gerar um pdf de acordo com os dados passados pelo usuário num textarea. Até aí tudo bem, o problema é que o usuário pode deixar um espaço para assinatura do documento, que ficaria + ou - assim:

_______________________________ _______________________________ Nome: Nome: CPF/MF: CPF/MF:
E quando gera o pdf fica assim:

_______________________________ _______________________________ Nome: Nome: CPF/MF: CPF/MF::
É como se ele ignorasse as tabulações :roll: . Alguém pode me ajudar? Obrigado! :mrgreen:

4 Respostas

Thiagoprudente

vc pode tentar forçar uma tabulação colocando \t…
é só uma idéia, não sei se dá certo…

Claudio_Nazzari

Voce esta usando um unico texto para a linha inteira?
Uma solução é criar dois textos estaticos, um do lado direito e outro do esquerdo

von.juliano

Oi pessoal, seguinte:

Thiagoprudente, o texto já é passado com o \t, porém, por algum motivo obscuro, o iText parece que o interpreta como se fosse um único espaço.

Claudio Nazzari, o problema é que esse exemplo que eu passei não é um padrão, é o usuário que vai digitá-lo, então não posso deixar estático.

Acredito que a solução está na forma como o iText escreve o texto no pdf. Sabem se há alguma coisa que eu possa fazer para que ele considere de forma diferente as tabulações? Obrigado pelas respostas!

von.juliano
Resolvi criando meu próprio método que corrige a tabulação nos textos. À quem interessar:
private String correctionTabulation(String line) {
	String[] tokens = line.split("\t");
	String correctionString = "";
	for (int i = 0; i < tokens.length - 1; i++) {
		correctionString += tokens[i];

		if (tokens[i].trim().equals(""))
			correctionString += emptyString(8);
		else
			correctionString += emptyString(8 - (tokens[i].length() % 8));
	}
	correctionString += tokens[tokens.length - 1];
	
	return correctionString;
}

private String emptyString(int size) {
	String format = "";
	for (int i = 0; i < size; i++)
		format += " ";

	return format;
}
Vlw! :mrgreen:
Criado 24 de outubro de 2007
Ultima resposta 24 de out. de 2007
Respostas 4
Participantes 3