<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16809" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>O objetivo é alinhar um texto.</FONT></DIV>
<DIV><FONT face=Arial size=2>Estou gerando um documento PDF.</FONT></DIV>
<DIV><FONT face=Arial size=2>Tenho um texto, uma string.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Preciso "printar" esste texto, no PDF.</FONT></DIV>
<DIV><FONT face=Arial size=2>Tal texto deve ser alinhado. Pela direita e pela
esquerda esta OK.</FONT></DIV>
<DIV><FONT face=Arial size=2>Mas para "justificar", ou seja, fazer com que o
texto fique alinhado tanto pela direita quanto pela esquerda, estou com
problemas.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Como comentado, usando fonte de letra proporcional,
tam como o Courier, não ha problemas, pois cada "espaço" separador entre as
palavras ocupada o espaço de um caracter qualquer e cada caracter ocupada o
mesmo espaço de um caracter qualquer.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Não estou mexendo no espaço entre os caracteres.
Apenas espaçando mais as palavras entre si afim de tentar o alinhamento
justificado.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Porém, para fontes não proporcionais o calculo muda
um pouco.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Como exemplo, usando fonte proporcional, o texto
abaixo teria o seguinte resultado quando alinhado numa linha de 20
posições.</FONT></DIV>
<DIV><FONT face="Courier New" size=2>12345678901234567890</FONT></DIV>
<DIV><FONT face="Courier New" size=2>Este é um teste</FONT></DIV>
<DIV><FONT face="Courier New" size=2>
<DIV><FONT face="Courier New" size=2>
<DIV><FONT face="Courier New" size=2>
<DIV><FONT face="Courier New" size=2>
<DIV><FONT face="Courier New" size=2>Este é um
teste</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Mas com fontes não proporcionais isso não é
viavel.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Voltando, meu objetivo é poder gerar um documento
PDF.</FONT></DIV>
<DIV><FONT face=Arial>Ou seja, minha aplicação esta gerando o
documento.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Olhando comentários sobre a especificação AFM achei uma
pequena formula que deve resolver.</FONT></DIV>
<DIV><I><FONT face=Helvetica-Oblique size=2><FONT face=Helvetica-Oblique
size=2>width = (LENGTH(text) * individual character lengths / 1000) * Font Point
Size</FONT></FONT></I></DIV>
<DIV><I><FONT face=Helvetica-Oblique size=2><FONT face=Helvetica-Oblique
size=2></FONT></FONT></I> </DIV>
<DIV><FONT face=Helvetica-Oblique size=2><FONT face=Helvetica-Oblique
size=2><FONT face=Arial>Ous seja, o width, comprimento de um texto pode ser
calculado pela formula acima. O tamanho de cada caracter pode ser obtido a
partir do arquivo de fonte AFM.</FONT></FONT></FONT></DIV>
<DIV><FONT face=Helvetica-Oblique size=2><FONT face=Helvetica-Oblique
size=2><FONT face=Arial>Sendo assim, posso ir colocando espaços em branco a mais
e ir testando se o width calculado já estourou ou não o espaço disponivel para
geração dos dados (comprimenro da linha).</FONT></FONT></FONT></DIV>
<DIV><FONT face=Helvetica-Oblique size=2><FONT face=Helvetica-Oblique
size=2><FONT face=Arial></FONT></FONT></FONT> </DIV>
<DIV><FONT face=Helvetica-Oblique size=2><FONT face=Helvetica-Oblique
size=2><FONT face=Arial>Falta testar pra ver ...</FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Helvetica-Oblique size=2><FONT face=Helvetica-Oblique
size=2><FONT face=Arial>Obs.: Não, não estou procurando um script, classe ou
pacote que faça geração ou processamento de PDF. Minha necessidade é apenas a
citada acima.</FONT></FONT></FONT></DIV>
<DIV><FONT face=Helvetica-Oblique size=2><FONT face=Helvetica-Oblique
size=2> </DIV></FONT></FONT><FONT face=Arial></FONT>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial></FONT></FONT></FONT></FONT></FONT><FONT face=Arial
size=2></FONT> </DIV></DIV></DIV></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>----- Original Message ----- </FONT>
<DIV><FONT face=Arial size=2>From: "Blabos de Blebe" <</FONT><A
href="mailto:blabos@gmail.com"><FONT face=Arial
size=2>blabos@gmail.com</FONT></A><FONT face=Arial size=2>></FONT></DIV>
<DIV><FONT face=Arial size=2>To: "Agnaldo Macedo" <</FONT><A
href="mailto:agnaldo@starweb-software.com.br"><FONT face=Arial
size=2>agnaldo@starweb-software.com.br</FONT></A><FONT face=Arial size=2>>;
"Cascavel Perl Mongers" <</FONT><A href="mailto:cascavel-pm@pm.org"><FONT
face=Arial size=2>cascavel-pm@pm.org</FONT></A><FONT face=Arial
size=2>></FONT></DIV>
<DIV><FONT face=Arial size=2>Sent: Saturday, June 27, 2009 1:25 PM</FONT></DIV>
<DIV><FONT face=Arial size=2>Subject: Re: [Cascavel-pm] [OT] PDF tamanho do
fonte</FONT></DIV></DIV>
<DIV><FONT face=Arial><BR><FONT size=2></FONT></FONT></DIV><FONT face=Arial
size=2>Eu devolvo a pergunta:<BR><BR>Você tem um conjunto com vários elementos
(letras) de vários tamanhos<BR>que serão enfileirados misturados, numa quantdade
e ordem que vc não<BR>sabe a priori. Qual o tamanho da fila?<BR><BR>Talvez seja
mais fácil se você você nos contar o que está querendo<BR>fazer. Podem haver
várias soluções para o seu problema, embora sua<BR>pergunta seja de difícil
solução, em certos casos.<BR><BR>Abraços<BR><BR>2009/6/27 Agnaldo Macedo
<</FONT><A href="mailto:agnaldo@starweb-software.com.br"><FONT face=Arial
size=2>agnaldo@starweb-software.com.br</FONT></A><FONT face=Arial
size=2>>:<BR>><BR>> Corrigindo o nome, AFM (Adobe Font
Metrics).<BR>><BR>><BR>> ----- Original Message ----- From: "Agnaldo
Macedo"<BR>> <</FONT><A
href="mailto:agnaldo@starweb-software.com.br"><FONT face=Arial
size=2>agnaldo@starweb-software.com.br</FONT></A><FONT face=Arial
size=2>><BR>> To: "Cascavel Perl Mongers" <</FONT><A
href="mailto:cascavel-pm@pm.org"><FONT face=Arial
size=2>cascavel-pm@pm.org</FONT></A><FONT face=Arial size=2>><BR>> Sent:
Saturday, June 27, 2009 11:04 AM<BR>> Subject: [Cascavel-pm] [OT] PDF tamanho
do fonte<BR>><BR>><BR>><BR>> Pessoal, um documento PDF pode possuir
diversos tipos de fontes de letra.<BR>> Fontes com especificção AMF (Adobe
Font Metrics), possuem um arquivo com<BR>> informações sobre o
fonte.<BR>><BR>> Fontes de letra proporcionais, como o Courier, possuem
tamanho fixo, então é<BR>> simples calcular quantos caracteres cabem numa
linha.<BR>><BR>> Alguém conhece alguma documentação sobre como calcular o
tamanho, mas<BR>> especificamente, quantos caracteres caberiam numa linha,
quando usando<BR>> fontes de letra nao
proporcionais??<BR>><BR>><BR>>
_______________________________________________<BR>> Cascavel-pm mailing
list<BR>> </FONT><A href="mailto:Cascavel-pm@pm.org"><FONT face=Arial
size=2>Cascavel-pm@pm.org</FONT></A><BR><FONT face=Arial size=2>> </FONT><A
href="http://mail.pm.org/mailman/listinfo/cascavel-pm"><FONT face=Arial
size=2>http://mail.pm.org/mailman/listinfo/cascavel-pm</FONT></A><BR><FONT
face=Arial size=2>> _______________________________________________<BR>>
Cascavel-pm mailing list<BR>> </FONT><A
href="mailto:Cascavel-pm@pm.org"><FONT face=Arial
size=2>Cascavel-pm@pm.org</FONT></A><BR><FONT face=Arial size=2>> </FONT><A
href="http://mail.pm.org/mailman/listinfo/cascavel-pm"><FONT face=Arial
size=2>http://mail.pm.org/mailman/listinfo/cascavel-pm</FONT></A><BR><FONT
face=Arial size=2>></FONT></BODY></HTML>