I also need PDFContentByte writing because I have to have absolute
positioning for every element.

irashkin wrote:
> 
> Thanks for the quick reply! I didn't think I was able to use chunks with
> PDfContentByte directly. Is that true? I have to use PDFContentByte (I am
> pretty sure anyway...) because of a bunch of other graphic things I am
> doing.
> 
> 
> 
> Paulo Soares-3 wrote:
>> 
>> Look for Chunk.SKEW in PdfDocument.WriteLineToContent().
>> 
>> Paulo
>> 
>>> -----Original Message-----
>>> From: [EMAIL PROTECTED]
>>> [mailto:[EMAIL PROTECTED] On
>>> Behalf Of irashkin
>>> Sent: Wednesday, September 17, 2008 3:20 PM
>>> To: [email protected]
>>> Subject: [iText-questions] pseudo-italic (transform) causing
>>> horizontal offset
>>>
>>>
>>> Hi,
>>> I am actually using iTextSharp, but I don't know if this
>>> problem is specific
>>> to iTextSharp or is a general problem (or misunderstanding by
>>> me) of iText.
>>> I am working with some embedded fonts that don't have italic
>>> options. So, to
>>> get around this, I am doing a skew transformation, and the
>>> italicization
>>> looks ok. But it is offsetting the x value as well, even
>>> though I am passing
>>> 0 for x and y (e and f) values in my matrix.
>>> In other words, I am doing something like this:
>>>
>>> float x = 28F;
>>> float y = 100F;
>>> float italicization = xFontSize / 100F;
>>> Matrix m = new Matrix(1F, 0F, italicization, 1F, 0F, 0F);
>>> cb.Transform(m);
>>> cb.ShowTextAligned(0, Content[i].Trim(), x, y, 0F);
>>> m = new Matrix(1F, 0F, 0F-italicization, 1F, 0F, 0F);
>>> cb.Transform(m);
>>> cb.ShowTextAligned(0, Content[i].Trim(), x, y, 0F);
>>>
>>> so, first I write the string (Content[i]) in pseudo-italics,
>>> then transform
>>> back to original and write it un0-italicized for comparison.
>>> The offset varies, but depending (I think) on font size and
>>> maybe also on
>>> string length, the offset is by 2 to 6 characters.
>>>
>>> I have been trying many combinations of italicization values,
>>> offsetting x
>>> by variable amounts, and so on, but I can't get this to come
>>> out right.
>>> I also tried this but it does exactly the same thing.:
>>>
>>> Matrix m = new Matrix(1F, 0F, italicization, 1F, x, 0F);
>>> cb.Transform(m);
>>> cb.ShowTextAligned(iAlign, Content[i].Trim(), 0F, y, 0F);
>>> m = new Matrix(1F, 0F, 0F-italicization, 1F, 0F-x, 0F);
>>> cb.Transform(m);
>>> cb.ShowTextAligned(iAlign, Content[i].Trim(), x, y, 0F);
>>>
>>>
>>> Interstingly,m I had this working, sort of - I was just doing this:
>>>
>>> cb.ConcatCTM(1F, 0F, italicization, 1F, 0F, 0F);
>>> cb.SaveState();
>>> cb.ShowTextAligned(0, Content[i].Trim(), x, y, 0F);
>>> cb.RestoreState();
>>>
>>> and this was giving me good results, but was then causing a PDf error:
>>> Illegal operation 'Q' inside a text object. (this all happens inside a
>>> beginText()-endText() block, which I guess is not ok).
>>>
>>> Does anyone have any ideas about this? I am going crazy. I
>>> can give you more
>>> info as needed - I tried to give enough, but maybe not...
>>>
>>> Thanks,
>>> Ian
>> 
>> 
>> Aviso Legal:
>> 
>> Esta mensagem é destinada exclusivamente ao destinatário. Pode conter
>> informação confidencial ou legalmente protegida. A incorrecta transmissão
>> desta mensagem não significa a perca de confidencialidade. Se esta
>> mensagem for recebida por engano, por favor envie-a de volta para o
>> remetente e apague-a do seu sistema de imediato. É proibido a qualquer
>> pessoa que não o destinatário de usar, revelar ou distribuir qualquer
>> parte desta mensagem. 
>> 
>> 
>> 
>> Disclaimer:
>> 
>> This message is destined exclusively to the intended receiver. It may
>> contain confidential or legally protected information. The incorrect
>> transmission of this message does not mean the loss of its
>> confidentiality. If this message is received by mistake, please send it
>> back to the sender and delete it from your system immediately. It is
>> forbidden to any person who is not the intended receiver to use,
>> distribute or copy any part of this message.
>> 
>> 
>> 
>> 
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>> challenge
>> Build the coolest Linux based applications with Moblin SDK & win great
>> prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the
>> world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> iText-questions mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/itext-questions
>> 
>> Buy the iText book: http://www.1t3xt.com/docs/book.php
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/pseudo-italic-%28transform%29-causing-horizontal-offset-tp19533150p19534782.html
Sent from the iText - General mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions

Buy the iText book: http://www.1t3xt.com/docs/book.php

Reply via email to