View | Details | Raw Unified | Return to bug 53724
Collapse All | Expand All

(-)src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java (-3 / +1 lines)
Lines 354-362 Link Here
354
        }
354
        }
355
        transferDict(page.getCOSDictionary(), pageStream, page2form, true);
355
        transferDict(page.getCOSDictionary(), pageStream, page2form, true);
356
        AffineTransform at = form.getMatrix();
356
        AffineTransform at = form.getMatrix();
357
        PDRectangle mediaBox = page.findMediaBox();
357
        PDRectangle viewBox = PDFUtil.getViewBox(page);
358
        PDRectangle cropBox = page.findCropBox();
359
        PDRectangle viewBox = (cropBox != null ? cropBox : mediaBox);
360
358
361
        //Handle the /Rotation entry on the page dict
359
        //Handle the /Rotation entry on the page dict
362
        int rotation = PDFUtil.getNormalizedRotation(page);
360
        int rotation = PDFUtil.getNormalizedRotation(page);
(-)src/java/org/apache/fop/render/pdf/pdfbox/PDFUtil.java (+7 lines)
Lines 20-25 Link Here
20
package org.apache.fop.render.pdf.pdfbox;
20
package org.apache.fop.render.pdf.pdfbox;
21
21
22
import org.apache.pdfbox.pdmodel.PDPage;
22
import org.apache.pdfbox.pdmodel.PDPage;
23
import org.apache.pdfbox.pdmodel.common.PDRectangle;
23
24
24
/**
25
/**
25
 * Common utility functions for PDF access.
26
 * Common utility functions for PDF access.
Lines 51-54 Link Here
51
        }
52
        }
52
    }
53
    }
53
54
55
    public static PDRectangle getViewBox(PDPage page) {
56
        PDRectangle mediaBox = page.findMediaBox();
57
        PDRectangle cropBox = page.findCropBox();
58
        return cropBox != null && cropBox.getWidth() <= mediaBox.getWidth()
59
                && cropBox.getHeight() <= mediaBox.getHeight() ? cropBox : mediaBox;
60
    }
54
}
61
}
(-)src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java (-3 / +1 lines)
Lines 141-149 Link Here
141
                    + pddoc.getNumberOfPages() + " pages.");
141
                    + pddoc.getNumberOfPages() + " pages.");
142
        }
142
        }
143
        PDPage page = (PDPage)pddoc.getDocumentCatalog().getAllPages().get(selectedPage);
143
        PDPage page = (PDPage)pddoc.getDocumentCatalog().getAllPages().get(selectedPage);
144
        PDRectangle mediaBox = page.findMediaBox();
144
        PDRectangle viewBox = PDFUtil.getViewBox(page);
145
        PDRectangle cropBox = page.findCropBox();
146
        PDRectangle viewBox = (cropBox != null ? cropBox : mediaBox);
147
        int w = Math.round(viewBox.getWidth() * 1000);
145
        int w = Math.round(viewBox.getWidth() * 1000);
148
        int h = Math.round(viewBox.getHeight() * 1000);
146
        int h = Math.round(viewBox.getHeight() * 1000);
149
147

Return to bug 53724