keiron 02/01/03 02:39:56 Modified: src/org/apache/fop/apps Tag: fop-0_20_2-maintain Driver.java StreamRenderer.java src/org/apache/fop/fo Tag: fop-0_20_2-maintain FOTreeBuilder.java src/org/apache/fop/fo/pagination Tag: fop-0_20_2-maintain PageSequence.java Added: src/org/apache/fop/apps Tag: fop-0_20_2-maintain FormattingResults.java PageSequenceResults.java Log: Formatting results patch to enable embedders to obtain info from render doc Submitted by: Jeremias Maerki <[EMAIL PROTECTED]> Revision Changes Path No revision No revision 1.36.2.1 +17 -14 xml-fop/src/org/apache/fop/apps/Driver.java Index: Driver.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/Driver.java,v retrieving revision 1.36 retrieving revision 1.36.2.1 diff -u -r1.36 -r1.36.2.1 --- Driver.java 5 Oct 2001 09:49:21 -0000 1.36 +++ Driver.java 3 Jan 2002 10:39:56 -0000 1.36.2.1 @@ -1,5 +1,5 @@ /* - * $Id: Driver.java,v 1.36 2001/10/05 09:49:21 keiron Exp $ + * $Id: Driver.java,v 1.36.2.1 2002/01/03 10:39:56 keiron Exp $ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. * For details on use and redistribution please refer to the * LICENSE file included with these sources. @@ -241,6 +241,19 @@ _treeBuilder.reset(); } + /** + * Returns the results of the last rendering process. Information includes + * the total number of pages generated and the number of pages per + * page-sequence. + */ + public FormattingResults getResults() { + try { + return _treeBuilder.getStreamRenderer().getResults(); + } catch (NullPointerException e) { + return null; + } + } + public boolean hasData() { return (_treeBuilder.hasData()); } @@ -483,19 +496,9 @@ */ public synchronized void render(Document document) throws FOPException { - - try { - DocumentInputSource source = new DocumentInputSource(document); - DocumentReader reader = new DocumentReader(); - reader.setContentHandler(getContentHandler()); - reader.parse(source); - } catch (SAXException e) { - throw new FOPException(e); - } - catch (IOException e) { - throw new FOPException(e); - } - + DocumentInputSource source = new DocumentInputSource(document); + DocumentReader reader = new DocumentReader(); + render(reader, source); } /** 1.6.2.1 +11 -0 xml-fop/src/org/apache/fop/apps/StreamRenderer.java Index: StreamRenderer.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/StreamRenderer.java,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -u -r1.6 -r1.6.2.1 --- StreamRenderer.java 11 Sep 2001 10:04:24 -0000 1.6 +++ StreamRenderer.java 3 Jan 2002 10:39:56 -0000 1.6.2.1 @@ -66,6 +66,11 @@ private Renderer renderer; /** + * The formatting results to be handed back to the caller. + */ + private FormattingResults results = new FormattingResults(); + + /** The FontInfo for this renderer. */ private FontInfo fontInfo = new FontInfo(); @@ -102,6 +107,10 @@ return idReferences; } + public FormattingResults getResults() { + return this.results; + } + public void addExtension(ExtensionObj ext) { extensions.addElement(ext); } @@ -192,6 +201,8 @@ } catch (FOPException e) { throw new SAXException(e); } + this.results.haveFormattedPageSequence(pageSequence); + log.debug("Last page-sequence produced "+pageSequence.getPageCount()+" pages."); } public synchronized void queuePage(Page page) No revision No revision 1.1.2.1 +73 -0 xml-fop/src/org/apache/fop/apps/Attic/FormattingResults.java 1.1.2.1 +50 -0 xml-fop/src/org/apache/fop/apps/Attic/PageSequenceResults.java No revision No revision 1.30.2.1 +5 -1 xml-fop/src/org/apache/fop/fo/FOTreeBuilder.java Index: FOTreeBuilder.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/FOTreeBuilder.java,v retrieving revision 1.30 retrieving revision 1.30.2.1 diff -u -r1.30 -r1.30.2.1 --- FOTreeBuilder.java 5 Oct 2001 10:17:55 -0000 1.30 +++ FOTreeBuilder.java 3 Jan 2002 10:39:56 -0000 1.30.2.1 @@ -1,5 +1,5 @@ /* - * $Id: FOTreeBuilder.java,v 1.30 2001/10/05 10:17:55 keiron Exp $ + * $Id: FOTreeBuilder.java,v 1.30.2.1 2002/01/03 10:39:56 keiron Exp $ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. * For details on use and redistribution please refer to the * LICENSE file included with these sources. @@ -90,6 +90,10 @@ public void setStreamRenderer(StreamRenderer streamRenderer) { this.streamRenderer = streamRenderer; + } + + public StreamRenderer getStreamRenderer() { + return this.streamRenderer; } /** No revision No revision 1.39.2.2 +6 -2 xml-fop/src/org/apache/fop/fo/pagination/PageSequence.java Index: PageSequence.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/PageSequence.java,v retrieving revision 1.39.2.1 retrieving revision 1.39.2.2 diff -u -r1.39.2.1 -r1.39.2.2 --- PageSequence.java 6 Dec 2001 21:28:21 -0000 1.39.2.1 +++ PageSequence.java 3 Jan 2002 10:39:56 -0000 1.39.2.2 @@ -1,5 +1,5 @@ /* - * $Id: PageSequence.java,v 1.39.2.1 2001/12/06 21:28:21 tore Exp $ + * $Id: PageSequence.java,v 1.39.2.2 2002/01/03 10:39:56 keiron Exp $ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. * For details on use and redistribution please refer to the * LICENSE file included with these sources. @@ -613,7 +613,11 @@ } public int getCurrentPageNumber() { - return currentPageNumber; + return currentPageNumber; + } + + public int getPageCount() { + return this.pageCount; } private void forcePage(AreaTree areaTree, int firstAvailPageNumber) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]