You are missing the g2d.dispose().

Best Regards,
Paulo Soares



> -----Original Message-----
> From: Jeremy Bowman [SMTP:[EMAIL PROTECTED]]
> Sent: Wednesday, April 24, 2002 5:02
> To:   [EMAIL PROTECTED]
> Subject:      [iText-questions] PdfGraphics2D save/restore problem in
> Acrobat 4
> 
> I commented before that I avoided using saveState() and restoreState() to 
> implement clipping in my PdfGraphics code because it generated invalid
> files 
> more often than not...now I know partially why.  The following code uses
> the 
> PdfGraphics2D code in iText 0.91 to set a clipping region and draw a
> circle 
> in a template at the bottom of the page; the result displays fine in
> Acrobat 
> Reader 5 and GSview on Windows, and in xpdf and kghostview on Linux, but 
> produces "There was an error processing a page. Invalid restore." in
> Acrobat 
> Reader 4 on both platforms.  If the PdfGraphics2D is created directly from
> 
> the base PdfContentByte instead of a template, it works fine even in
> Acrobat 
> 4.
> 
> Could somebody more enlightened than I about the save/restore
> functionality 
> see if there's a way to avoid this problem?  Or if it's an inherent bug in
> 
> Acrobat 4, at least document this in the FAQ?
> 
> Jeremy
> 
> ----------------------------------------------------
> 
> import com.lowagie.text.*;
> import com.lowagie.text.pdf.*;
> import java.awt.Graphics2D;
> import java.io.FileOutputStream;
> 
> public class ClipTest {
> 
>     public static void main(String[] args) {
>         try {
>             Document doc = new Document(PageSize.A4, 18, 18, 18, 18);
>             FileOutputStream os = new FileOutputStream("cliptest.pdf");
>             PdfWriter writer = PdfWriter.getInstance(doc, os);
>             doc.open();
>             PdfContentByte cb = writer.getDirectContent();
>             PdfTemplate template = cb.createTemplate(300, 300);
>             Graphics2D g2d = template.createGraphics(300, 300);
>             g2d.setClip(50, 50, 200, 200);
>             g2d.fillOval(30, 30, 220, 220);
>             cb.addTemplate(template, 0, 0);
>             doc.close();
>         }
>         catch (Exception e) {
>             System.err.println(e.getMessage());
>             e.printStackTrace(System.err);
>         }
>     }
> }
> 
> _______________________________________________
> iText-questions mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/itext-questions

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

Reply via email to