1) you need to also consider the case of inherited resources.

2) you are assuming that all font dicts will be indirect, that's not necessary 
true.

3) You are assuming that encoding that is indirect is Differences and not is 
not.  Again, not true.  Either way is valid for both direct/indirect.

4) for differences, you need to get the base encoding and then start from that.

Leonard

-----Original Message-----
From: newoutlook [mailto:newoutlo...@yahoo.com] 
Sent: Tuesday, September 15, 2009 6:00 PM
To: itext-questions@lists.sourceforge.net
Subject: Re: [iText-questions] Conversion of Encoding


I reviewed the section 9.10.2Mapping Character Codes to Unicode Values from
PDF ISO-320000(1.7) document. I came up with the following segment of code
to get encodings for font for a text string. I am kinda of struck on getting
differences array for font dictionary.  I am not sure  how to find unicode
values for the character codes.

dict = reader.getPageN(1); 
dict = (PdfDictionary)dict.get(PdfName.RESOURCES);
PdfDictionary font_ref = (PdfDictionary) dict.get(PdfName.FONT); 
Set keys = font_ref.getKeys();
for (Iterator i = keys.iterator(); i.hasNext();) {
                PdfName name = (PdfName)i.next();
                System.out.println("font name =" + name);
                PdfIndirectReference font_inref = (PdfIndirectReference)
font_ref.get(name);
                System.out.println("font indirect ref =" + font_inref);
          
            PdfDictionary font_content = (PdfDictionary)
reader.getPdfObject(font_inref.getNumber());
            if (!(font_content.get(PdfName.ENCODING)).isIndirect()) {
                System.out.println("Font encoding
="+font_content.get(PdfName.ENCODING));
           
                }
            else {
                
            
                PdfArray font_diff = (PdfArray) 
font_content.get(PdfName.DIFFERENCES);
                
                //for (Iterator j = font_diff.getArrayList().iterator(); 
j.hasNext();)
{
                //        PdfString font_diff_str = (PdfString) j.next();
                //       System.out.println("font diff entry =" + 
font_diff_str);
                //}
            }
}



1T3XT info wrote:
> 
> newoutlook wrote:
>> I was wondering how do I get the encoding for text string using iText API
>> before I interpret the text string.
> 
> Get the content stream of the page.
> Find the operator that changes the font and
> get the operand that refers to the font (e.g. /F1).
> Look for the corresponding entry in the page resources.
> Inspect the font dictionary referred to in the page resources
> for the encoding.
> 
> Expect no further help than the above;
> as Leonard told you: stuff like 'content stream',
> 'font dictionary', etc... is explained in ISO-320000.
> 
> Low-level methods to get a page's content stream,
> the resources dictionary, and so on, are explained
> in chapter 18 of the book "iText in Action".
> -- 
> This answer is provided by 1T3XT BVBA
> http://www.1t3xt.com/ - http://www.1t3xt.info
> 
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry® Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay 
> ahead of the curve. Join us from November 9-12, 2009. Register
> now!
> http://p.sf.net/sfu/devconf
> _______________________________________________
> iText-questions mailing list
> iText-questions@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/itext-questions
> 
> Buy the iText book: http://www.1t3xt.com/docs/book.php
> Check the site with examples before you ask questions:
> http://www.1t3xt.info/examples/
> You can also search the keywords list:
> http://1t3xt.info/tutorials/keywords/
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Conversion-of-Encoding-tp23984690p25462597.html
Sent from the iText - General mailing list archive at Nabble.com.


------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

Buy the iText book: http://www.1t3xt.com/docs/book.php
Check the site with examples before you ask questions: 
http://www.1t3xt.info/examples/
You can also search the keywords list: http://1t3xt.info/tutorials/keywords/

------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

Buy the iText book: http://www.1t3xt.com/docs/book.php
Check the site with examples before you ask questions: 
http://www.1t3xt.info/examples/
You can also search the keywords list: http://1t3xt.info/tutorials/keywords/

Reply via email to