It seems that the outlines must be placed in order. I'll fix it tomorrow.

Best Regards,
Paulo Soares

> -----Original Message-----
> From: Chen, Donald [SMTP:[EMAIL PROTECTED]]
> Sent: Thursday, March 21, 2002 17:36
> To:   'Paulo Soares'; [EMAIL PROTECTED]
> Subject:      RE: [iText-questions] cb.addOutline() problem, please help.
> 
> 
> Here is an workable java file for testing cb.addOutLines().
> 
> By running it, you can see what's going on.
> 
> Thanks a lot,
> 
> Don
> -----Original Message-----
> From: Paulo Soares [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, March 21, 2002 11:46 AM
> To: Chen, Donald; [EMAIL PROTECTED]
> Subject: RE: [iText-questions] cb.addOutline() problem, please help.
> 
> 
> It's better to provide a small working example that I can debug here to
> see
> what's going on. I'm releasing a new version in the next hour so hurry up
> if
> you want a fix included.
> 
> Best Regards,
> Paulo Soares
> 
> > -----Original Message-----
> > From:       Chen, Donald [SMTP:[EMAIL PROTECTED]]
> > Sent:       Thursday, March 21, 2002 16:40
> > To: 'Paulo Soares'; [EMAIL PROTECTED]
> > Subject:    RE: [iText-questions] cb.addOutline() problem, please help.
> > 
> > 
> > 
> > I suspect that your conditional code is buggy and is not adding the
> > outlines. What happens if you use the code:
> > 
> >          for ( int i = 0; i<objectVector.size(); i++) {
> > 
> >                 objectType theObject =
> > (objectType)objectVector.elememntAt(i);
> >                 PdfDestination myDestination = new PdfDestination(//blar
> > blar here);  //psedo code
> >                 cb.addOutline(new PdfOutline(foo, myDestination,
> > theObject.name)); 
> >                 cb.addOutline(new PdfOutline(bar, myDestination,
> > theObject.name)); 
> >                 cb.addOutline(new PdfOutline(tar, myDestination,
> > theObject.name)); 
> >                 cb.addOutline(new PdfOutline(mono, myDestination,
> > theObject.name)); 
> >           }
> > 
> > 
> > I changed the code by using the way you suggest, and it turns out, none
> > was
> > showed under foo, bar, tar, mono.
> > Quite surprise.
> > 
> > I am pretty sure it is not the problem of condition test.
> > 
> > I rearrange the code like this:
> >          
> > for ( int i = 0; i<objectVector.size(); i++) {
> > 
> >                 objectType theObject =
> > (objectType)objectVector.elememntAt(i);
> >                 PdfDestination myDestination = new PdfDestination(//blar
> > blar here);  //psedo code
> > 
> >                int which = i % 4;
> >               if ( which == 1 )
> >                 cb.addOutline(new PdfOutline(foo, myDestination,
> > theObject.name)); 
> >               else if ( which == 2)
> >                 cb.addOutline(new PdfOutline(bar, myDestination,
> > theObject.name)); 
> >               else if ( which == 3)
> >                 cb.addOutline(new PdfOutline(tar, myDestination,
> > theObject.name)); 
> >               else if ( which == 0 )
> >                 cb.addOutline(new PdfOutline(mono, myDestination,
> > theObject.name)); 
> >           }
> > 
> > It turns out that only the very first object's name showed up under
> > "mono".
> > 
> > Any idea?
> > 
> > 
> > Best Regards,
> > Paulo Soares
> > 
> > > -----Original Message-----
> > > From:     Chen, Donald [SMTP:[EMAIL PROTECTED]]
> > > Sent:     Thursday, March 21, 2002 16:12
> > > To:       [EMAIL PROTECTED]
> > > Subject:  [iText-questions] cb.addOutline() problem, please help.
> > > 
> > > Hi, there.
> > > 
> > > I have a problem with PdfContentByte.addOutline(), as following:
> > > 
> > > I created 4 outLines( eg. foo, bar, tar, mono ) with the same parent
> > > (Root)
> > > without any problem.
> > > Then I loop through my objects and put their names as sub-outLines
> under
> > > above metioned
> > > 4 outLines, depending on the object type.  Here is the code snipe:
> > > 
> > >            for ( int i = 0; i<objectVector.size(); i++) {
> > > 
> > >                 objectType theObject =
> > > (objectType)objectVector.elememntAt(i);
> > >                 PdfDestination myDestination = new
> PdfDestination(//blar
> > > blar here);  //psedo code
> > >                 if ( theObject.type == 1 ) {
> > >                     cb.addOutline(new PdfOutline(foo, myDestination,
> > > theObject.name)); 
> > >                 } else if ( theDo.type == 2 ) {
> > >                     cb.addOutline(new PdfOutline(bar, myDestination,
> > > theObject.name));
> > >                 } else if ( theDo.type == 3 ) {
> > >                     cb.addOutline(new PdfOutline(tar, myDestination,
> > > theObject.name));
> > >                 } else if ( theDo.type == 0 ) {
> > >                     cb.addOutline(new PdfOutline(mono, myDestination,
> > > theObject.name));
> > >                 }
> > >           }
> > > 
> > > The resulted PDF files turns out that only the first a few objects'
> name
> > > showing under (foo, bar, tar, or mono) outLines.
> > > 
> > > If I decide to put every object's name as a sub-outLine under "foo" (
> > > disregard the object type ), like this:
> > > 
> > >          for ( int i = 0; i<objectVector.size(); i++) {
> > > 
> > >                 objectType theObject =
> > > (objectType)objectVector.elememntAt(i);
> > >                 PdfDestination myDestination = new
> PdfDestination(//blar
> > > blar here);  //psedo code
> > >                 cb.addOutline(new PdfOutline(foo, myDestination,
> > > theObject.name)); 
> > >           }
> > > 
> > > , then they all show up under "foo". 
> > > 
> > > It strikes to me that the cb.addOutline() has some limitation on
> adding
> > > new
> > > sub-outLines.
> > > 
> > > Or did I miss something here?  Please help.
> > > 
> > > Thanks a lot,
> > > 
> > > Don
> > > 
> > > _______________________________________________
> > > iText-questions mailing list
> > > [EMAIL PROTECTED]
> > > https://lists.sourceforge.net/lists/listinfo/itext-questions
>  << File: TestOutLines.java >> 

_______________________________________________
iText-questions mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/itext-questions

Reply via email to