Op 16/02/2012 18:57, AJ Weber schreef: > Would I: > 1) Open existing PDF in PdfReader; Yes.
> 2) Use similar classes to OCGParser/Remover to operate on the reader; Yes. > 3) Create a PdfCopy or PdfStamper to then simply copy the reader to a > new output PDF (and I assume the changes made to the reader-interface > would be applied to the output)? PdfStamper, NOT PdfCopy. For instance: public static void main(String[] args) throws IOException, DocumentException { PdfReader reader = new PdfReader("original.pdf"); MyParser parser = new MyParser(args[0]); PdfDictionary page; for (int i = 1; i <= reader.getNumberOfPages(); i++) { page = reader.getPageN(i); PRStream stream = (PRStream)page.getAsStream(PdfName.CONTENTS); PdfDictionary resources = page.getAsDict(PdfName.RESOURCES); parser.parse(stream, resources); } reader.removeUnusedObjects(); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("fixed.pdf")); stamper.close(); } MyParser parses and copies all PDF syntax, except for some particular part defined by args[0]. Note that this code snippet assumes that the /Contents element in the page dictionary is a stream. In your case it could be an array in which case the code will throw a ClassCastException. I suggest that you start by removing everything from the OCG parser keeping the dummy operator. This should result in code that makes a copy of the original file. Then you'd need to find out which operator is used to add the part you want to remove. Create a custom operator class that does exactly the same thing as the dummy operator, except when the part you don't want to copy is encountered. ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ 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