setFieldRichValue() is a partial implementation.  The appearance
generation code doesn't know anything about the rich value, only the
regular value.
 
To get around this, you have to call
myAcroFields.setGenerateAppearances(false).  Then, when
Reader/Acrobat/etc open the PDF, they know they need to generated the
appearances themselves.  Compliant Viewers will see the rich value and
render it.
 
NOTE: This means flattening isn't going to work... not without first
being opened by Acrobat, and saved with the rich value drawn in.
 
Or you could fix it yourself.  iText can render HTML fragments (which is
what the rich text is) to PDF, I just didn't hook it up when I wrote
[s|g]etFieldRichValue() because it was an off-the-cuff feature that
helped someone at the time.  You could even do this sort of thing
yourself without diving directly into the iText source:
 
1) Get the size of the form field in question.
2) In a new document, create a page with that size
3) Use XMLWorker/HTMLWorker to draw the rich value into that new page.
4) Save the new document to a memory stream
5) Import that new document's page and use it as the appearance for the
field needing a rich value.
 
Not terribly efficient, but it'll work.  
 
PS:  I think you'll need to draw the field's borders as well, but that
code is fairly simple, and can be found in BaseField.java.
 
 
--Mark Storer
  Senior Software Engineer
  Cardiff.com
 
import legalese.Disclaimer;
Disclaimer<Cardiff> DisCard = null;
 
 


________________________________

        From: Leonard Rosenthol [mailto:lrose...@adobe.com] 
        Sent: Monday, August 15, 2011 7:12 AM
        To: Post here
        Subject: Re: [iText-questions] Urgent:
AcroFields.setFieldRichValue() doesn't write out rich text
        
        
        You have the source code to iText - why not just trace into the
code and see what's going on??

        
        From: Taichu Zhang <taichuzh...@rogers.com>
        Reply-To: Post here <itext-questions@lists.sourceforge.net>
        Date: Mon, 15 Aug 2011 06:52:02 -0700
        To: Post here <itext-questions@lists.sourceforge.net>
        Subject: [iText-questions] Urgent:
AcroFields.setFieldRichValue() doesn't write out rich text
        

        The setFieldRichValue() method in class AcroFields does not
work. However, AcroFields.getFieldRichValue() seems work. It can return
thing like this:
         
        <?xml version="1.0"?><body xfa:APIVersion="Acroform:2.7.0.0"
xfa:spec="2.1" xmlns="http://www.w3.org/1999/xhtml";
xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/";><p dir="ltr"
style="margin-top:0pt;margin-bottom:0pt;font-family:Helvetica;font-size:
12pt">read line1 plain</p</body>

         
        The so called rich value.
        If I write similar rich value to another field by using the
following value
         

        <?xml version="1.0"?><body xfa:APIVersion="Acroform:2.7.0.0"
xfa:spec="2.1" xmlns="http://www.w3.org/1999/xhtml";
xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/";><p dir="ltr"
style="margin-top:0pt;margin-bottom:0pt;font-family:Helvetica;font-size:
12pt"><b>write line1 bold</b></p</body>

        passed by setFieldRichValue(). I got the return code as true,
which indicates the success of the method. However, there is nothing in
the target field of the result PDF file. I do have the rich text flag
turned on for the write field in the fillable PDF form.

        Please help, this is urgent as my project is due, and I have
this as a show stopper. If I can't write part of the text in the whole
text field as bold, and leave the rest of it as plain text, my entire
project is in jeopardy. I couldn't find any thing using
setFieldRichValue() in iText examples, and I googled it on internet as
well. Is this a bug, or I'm calling it the wrong way.

        Thanks.

         

------------------------------------------------------------------------------
uberSVN's rich system and user administration capabilities and model 
configuration take the hassle out of deploying and managing Subversion and 
the tools developers use with it. Learn more about uberSVN and get a free 
download at:  http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

iText(R) is a registered trademark of 1T3XT BVBA.
Many questions posted to this list can (and will) be answered with a reference 
to the iText book: http://www.itextpdf.com/book/
Please check the keywords list before you ask for examples: 
http://itextpdf.com/themes/keywords.php

Reply via email to