Title: Re: Problem concatenating pdf file with a blank page
You are right, it's a bug. Replace in PdfReaderInstance:
 
    PdfStream getFormXObject(int pageNumber) throws IOException {
        PdfDictionary page = pages[pageNumber - 1];
        PdfObject contents = PdfReader.getPdfObject(page.get(PdfName.CONTENTS));
        PdfDictionary dic = new PdfDictionary();
        byte bout[] = null;
        ArrayList filters = null;
        if (contents != null) {
            if (contents.isStream())
                dic.putAll((PRStream)contents);
            else
                bout = reader.getPageContent(pageNumber, file);
        }
        else
            bout = new byte[0];
        dic.put(PdfName.RESOURCES, PdfReader.getPdfObject(page.get(PdfName.RESOURCES)));
        dic.put(PdfName.TYPE, PdfName.XOBJECT);
        dic.put(PdfName.SUBTYPE, PdfName.FORM);
        PdfImportedPage impPage = (PdfImportedPage)importedPages.get(new Integer(pageNumber));
        dic.put(PdfName.BBOX, new PdfRectangle(impPage.getBoundingBox()));
        PdfArray matrix = impPage.getMatrix();
        if (matrix == null)
            dic.put(PdfName.MATRIX, IDENTITYMATRIX);
        else
            dic.put(PdfName.MATRIX, matrix);
        dic.put(PdfName.FORMTYPE, ONE);
        PRStream stream;
        if (bout == null) {
            stream = new PRStream((PRStream)contents, dic);
        }
        else {
            stream = new PRStream(reader, bout);
            stream.putAll(dic);
        }
        return stream;
    }
Best Regards,
Paulo Soares


From: ZUGASTI Andr� [mailto:[EMAIL PROTECTED]
Sent: Monday, July 05, 2004 8:46 AM
To: Paulo Soares
Subject: Re: Problem concatenating pdf file with a blank page



----------------------

That shouldn't happen. Can you send me the pdf?

Best Regards,
Paulo Soares

----- Original Message -----
From: "zugasti" <azugasti <at> micropole-univers.com>
To: <itext-questions <at> lists.sourceforge.net>
Sent: Friday, July 02, 2004 16:07
Subject: [iText-questions] Problem concatenating pdf file with a blank page


> The program fails with this exception when i try to concatenate pdf files
with
> a blank page:
>
> java.lang.NullPointerException
> at com.lowagie.text.pdf.PRStream.<init>(Unknown Source)
> at com.lowagie.text.pdf.PdfReaderInstance.getFormXObject(Unknown
> Source)
> at com.lowagie.text.pdf.PdfImportedPage.getFormXObject(Unknown Source)
> at com.lowagie.text.pdf.PdfReaderInstance.writeAllPages(Unknown Source)
> at com.lowagie.text.pdf.PdfWriter.addSharedObjectsToBody(Unknown
> Source)
> at com.lowagie.text.pdf.PdfWriter.close(Unknown Source)
> at com.lowagie.text.pdf.PdfDocument.close(Unknown Source)
> at com.lowagie.text.Document.close(Unknown Source)
>
> The problem comes from the following method vhen the contents variable is
null:
>
>     PdfStream getFormXObject(int pageNumber) throws IOException {
>         PdfDictionary page = pages[pageNumber - 1];
>         PdfObject contents = PdfReader.getPdfObject(page.get
> (PdfName.CONTENTS));
>         PdfDictionary dic = new PdfDictionary();
>         byte bout[] = null;
>         ArrayList filters = null;
>         if (contents != null) {
>             if (contents.isStream()) {
>                 dic.putAll((PRStream)contents);
>             }
>             else {
>                 bout = reader.getPageContent(pageNumber, file);
>             }
>         }
>         dic.put(PdfName.RESOURCES, PdfReader.getPdfObject(page.get
> (PdfName.RESOURCES)));
>         dic.put(PdfName.TYPE, PdfName.XOBJECT);
>         dic.put(PdfName.SUBTYPE, PdfName.FORM);
>         PdfImportedPage impPage = (PdfImportedPage)importedPages.get(new
> Integer(pageNumber));
>         dic.put(PdfName.BBOX, new PdfRectangle(impPage.getBoundingBox()));
>         PdfArray matrix = impPage.getMatrix();
>         if (matrix == null)
>             dic.put(PdfName.MATRIX, IDENTITYMATRIX);
>         else
>             dic.put(PdfName.MATRIX, matrix);
>         dic.put(PdfName.FORMTYPE, ONE);
>         PRStream stream;
>         if (bout == null) {
>             stream = new PRStream((PRStream)contents, dic);
>         }
>         else {
>             stream = new PRStream(reader, bout);
>             stream.putAll(dic);
>         }
>         return stream;
>     }
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by Black Hat Briefings & Training.
> Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
> digital self defense, top technical experts, no vendor pitches,
> unmatched networking opportunities. Visit www.blackhat.com
> _______________________________________________
> iText-questions mailing list
> iText-questions <at> lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/itext-questions

-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com

Reply via email to