aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremias Maerki <jeremias@apache.org>2011-10-24 12:44:11 +0000
committerJeremias Maerki <jeremias@apache.org>2011-10-24 12:44:11 +0000
commit54a4751b616ab4e8957b97af4088bd725367ea6f (patch)
tree56289b094baf9f253c927d7a3a570e7b061dfc85
parentae7c3b4bd8c7e1eca36dd5963d2b28dfad43bda2 (diff)
downloadxmlgraphics-fop-54a4751b616ab4e8957b97af4088bd725367ea6f.tar.gz
xmlgraphics-fop-54a4751b616ab4e8957b97af4088bd725367ea6f.zip
Allow to switch to a different page size in mid-document.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1188123 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--examples/embedding/java/embedding/ExampleJava2D2PDF.java3
-rw-r--r--src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java17
2 files changed, 17 insertions, 3 deletions
diff --git a/examples/embedding/java/embedding/ExampleJava2D2PDF.java b/examples/embedding/java/embedding/ExampleJava2D2PDF.java
index ff9807165..907aaeab5 100644
--- a/examples/embedding/java/embedding/ExampleJava2D2PDF.java
+++ b/examples/embedding/java/embedding/ExampleJava2D2PDF.java
@@ -116,7 +116,8 @@ public class ExampleJava2D2PDF {
g2d.setFont(new Font("serif", Font.PLAIN, 36));
g2d.drawString("Hello world!", 140, 180);
- g2d.nextPage();
+ pageSize = new Dimension(pageSize.height, pageSize.width);
+ g2d.nextPage(pageSize.width, pageSize.height);
//Demonstrate painting rich text
String someHTML = "<html><body style=\"font-family:Verdana\">"
diff --git a/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java b/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java
index f8f14cca2..7ec9d7f2b 100644
--- a/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java
+++ b/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java
@@ -113,8 +113,8 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D {
* @param textAsShapes set this to true so that text will be rendered
* using curves and not the font.
* @param stream the stream that the final document should be written to.
- * @param width the width of the document
- * @param height the height of the document
+ * @param width the width of the document (in points)
+ * @param height the height of the document (in points)
* @throws IOException an io exception if there is a problem
* writing to the output stream
*/
@@ -253,6 +253,19 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D {
}
/**
+ * Is called to prepare the PDFDocumentGraphics2D for the next page to be painted. Basically,
+ * this closes the current page. A new page is prepared as soon as painting starts.
+ * This method allows to start the new page (and following pages) with a different page size.
+ * @param width the width of the new page (in points)
+ * @param height the height of the new page (in points)
+ */
+ public void nextPage(int width, int height) {
+ this.width = width;
+ this.height = height;
+ nextPage();
+ }
+
+ /**
* Closes the current page and adds it to the PDF file.
*/
protected void closePage() {