<!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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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 &nbsp;é 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&nbsp; &nbsp;é&nbsp; &nbsp;um 
&nbsp;teste</FONT></DIV>
<DIV><FONT face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial>Mas com fontes não proporcionais isso não é 
viavel.</FONT></DIV>
<DIV><FONT face=Arial></FONT>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</DIV></FONT></FONT><FONT face=Arial></FONT>
<DIV><FONT face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial></FONT></FONT></FONT></FONT></FONT><FONT face=Arial 
size=2></FONT>&nbsp;</DIV></DIV></DIV></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>----- Original Message ----- </FONT>
<DIV><FONT face=Arial size=2>From: "Blabos de Blebe" &lt;</FONT><A 
href="mailto:blabos@gmail.com"><FONT face=Arial 
size=2>blabos@gmail.com</FONT></A><FONT face=Arial size=2>&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2>To: "Agnaldo Macedo" &lt;</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>&gt;; 
"Cascavel Perl Mongers" &lt;</FONT><A href="mailto:cascavel-pm@pm.org"><FONT 
face=Arial size=2>cascavel-pm@pm.org</FONT></A><FONT face=Arial 
size=2>&gt;</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 
&lt;</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>&gt;:<BR>&gt;<BR>&gt; Corrigindo o nome, AFM (Adobe Font 
Metrics).<BR>&gt;<BR>&gt;<BR>&gt; ----- Original Message ----- From: "Agnaldo 
Macedo"<BR>&gt; &lt;</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>&gt;<BR>&gt; To: "Cascavel Perl Mongers" &lt;</FONT><A 
href="mailto:cascavel-pm@pm.org"><FONT face=Arial 
size=2>cascavel-pm@pm.org</FONT></A><FONT face=Arial size=2>&gt;<BR>&gt; Sent: 
Saturday, June 27, 2009 11:04 AM<BR>&gt; Subject: [Cascavel-pm] [OT] PDF tamanho 
do fonte<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt; Pessoal, um documento PDF pode possuir 
diversos tipos de fontes de letra.<BR>&gt; Fontes com especificção AMF (Adobe 
Font Metrics), possuem um arquivo com<BR>&gt; informações sobre o 
fonte.<BR>&gt;<BR>&gt; Fontes de letra proporcionais, como o Courier, possuem 
tamanho fixo, então é<BR>&gt; simples calcular quantos caracteres cabem numa 
linha.<BR>&gt;<BR>&gt; Alguém conhece alguma documentação sobre como calcular o 
tamanho, mas<BR>&gt; especificamente, quantos caracteres caberiam numa linha, 
quando usando<BR>&gt; fontes de letra nao 
proporcionais??<BR>&gt;<BR>&gt;<BR>&gt; 
_______________________________________________<BR>&gt; Cascavel-pm mailing 
list<BR>&gt; </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>&gt; </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>&gt; _______________________________________________<BR>&gt; 
Cascavel-pm mailing list<BR>&gt; </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>&gt; </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>&gt;</FONT></BODY></HTML>