From 7039c8a41a4df1136270c0291387a0c92c2273e1 Mon Sep 17 00:00:00 2001 From: Jeremias Maerki Date: Thu, 27 Mar 2003 11:06:25 +0000 Subject: [PATCH] Better name for the parent reference variable. No object number in constructor. Use toPDFString instead of toPDF. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196169 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/fop/pdf/PDFPage.java | 66 +++++++++++++----------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/src/java/org/apache/fop/pdf/PDFPage.java b/src/java/org/apache/fop/pdf/PDFPage.java index d81e3be52..b0d6ad0f3 100644 --- a/src/java/org/apache/fop/pdf/PDFPage.java +++ b/src/java/org/apache/fop/pdf/PDFPage.java @@ -51,25 +51,19 @@ package org.apache.fop.pdf; /** - * class representing a /Page object. - * + * Class representing a /Page object. + *

* There is one of these for every page in a PDF document. The object * specifies the dimensions of the page and references a /Resources * object, a contents stream and the page's parent in the page * hierarchy. - * - * Modified by Mark Lillywhite, mark-fop@inomial.com. The Parent - * object was being referred to by reference, but all that we - * ever used from the Parent was it's PDF object ID, and according - * to the memory profile this was causing OOM issues. So, we store - * only the object ID of the parent, rather than the parent itself. */ public class PDFPage extends PDFResourceContext { /** - * the page's parent, a PDF reference object + * Holds a reference on the parent PDFPages object. */ - protected String parent; + private String parentRef; /** * the contents stream @@ -99,18 +93,16 @@ public class PDFPage extends PDFResourceContext { /** * create a /Page object * - * @param doc the PDF document holding this page - * @param number the object's number * @param resources the /Resources object * @param contents the content stream * @param pagewidth the page's width in points * @param pageheight the page's height in points */ - public PDFPage(PDFDocument doc, int number, PDFResources resources, PDFStream contents, + public PDFPage(PDFResources resources, PDFStream contents, int pagewidth, int pageheight) { /* generic creation of object */ - super(number, doc, resources); + super(resources); /* set fields using parameters */ this.contents = contents; @@ -121,17 +113,15 @@ public class PDFPage extends PDFResourceContext { /** * create a /Page object * - * @param doc the PDF document holding this page - * @param number the object's number * @param resources the /Resources object * @param pagewidth the page's width in points * @param pageheight the page's height in points */ - public PDFPage(PDFDocument doc, int number, PDFResources resources, + public PDFPage(PDFResources resources, int pagewidth, int pageheight) { /* generic creation of object */ - super(number, doc, resources); + super(resources); /* set fields using parameters */ this.pagewidth = pagewidth; @@ -153,7 +143,7 @@ public class PDFPage extends PDFResourceContext { * @param parent the /Pages object that is this page's parent */ public void setParent(PDFPages parent) { - this.parent = parent.referencePDF(); + this.parentRef = parent.referencePDF(); } /** @@ -170,20 +160,34 @@ public class PDFPage extends PDFResourceContext { } /** - * represent this object as PDF - * - * @return the PDF string + * Returns the page width. + * @return the page width + */ + public int getWidth() { + return this.pagewidth; + } + + /** + * Returns the page height. + * @return the page height + */ + public int getHeight() { + return this.pageheight; + } + + /** + * @see org.apache.fop.pdf.PDFObject#toPDFString() */ - public byte[] toPDF() { + public String toPDFString() { StringBuffer sb = new StringBuffer(); - sb = sb.append(this.number + " " + this.generation + " obj\n" - + "<< /Type /Page\n" + "/Parent " - + this.parent + "\n" - + "/MediaBox [ 0 0 " + this.pagewidth + " " - + this.pageheight + " ]\n" + "/Resources " - + this.resources.referencePDF() + "\n" + "/Contents " - + this.contents.referencePDF() + "\n"); + sb = sb.append(getObjectID() + + "<< /Type /Page\n" + + "/Parent " + this.parentRef + "\n" + + "/MediaBox [ 0 0 " + getWidth() + " " + + getHeight() + " ]\n" + + "/Resources " + this.resources.referencePDF() + "\n" + + "/Contents " + this.contents.referencePDF() + "\n"); if (this.annotList != null) { sb = sb.append("/Annots " + this.annotList.referencePDF() + "\n"); } @@ -195,7 +199,7 @@ public class PDFPage extends PDFResourceContext { } sb = sb.append(">>\nendobj\n"); - return sb.toString().getBytes(); + return sb.toString(); } } -- 2.39.5