Created an Event that captures an end page event with the page number. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1137566 13f79535-47bb-0310-9956-ffa450edef68tags/fop-1_1rc1old
* @event.severity ERROR | * @event.severity ERROR | ||||
*/ | */ | ||||
void ioError(Object source, IOException ioe); | void ioError(Object source, IOException ioe); | ||||
/** | |||||
* Triggered at the end of page rendering. | |||||
* @param source the event source | |||||
* @param number the page number | |||||
*/ | |||||
void endPage(Object source, int number); | |||||
} | } |
<!-- $Id$ --> | <!-- $Id$ --> | ||||
<catalogue xml:lang="en"> | <catalogue xml:lang="en"> | ||||
<message key="ioError">I/O error while writing to target file.[ Reason: {ioe}]</message> | <message key="ioError">I/O error while writing to target file.[ Reason: {ioe}]</message> | ||||
<message key="endPage">Rendered page #{number}.</message> | |||||
</catalogue> | </catalogue> |
import org.apache.fop.area.AreaTreeHandler; | import org.apache.fop.area.AreaTreeHandler; | ||||
import org.apache.fop.fo.FOEventHandler; | import org.apache.fop.fo.FOEventHandler; | ||||
import org.apache.fop.render.intermediate.AbstractIFDocumentHandlerMaker; | import org.apache.fop.render.intermediate.AbstractIFDocumentHandlerMaker; | ||||
import org.apache.fop.render.intermediate.EventProducingFilter; | |||||
import org.apache.fop.render.intermediate.IFDocumentHandler; | import org.apache.fop.render.intermediate.IFDocumentHandler; | ||||
import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator; | import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator; | ||||
import org.apache.fop.render.intermediate.IFRenderer; | import org.apache.fop.render.intermediate.IFRenderer; | ||||
if (configurator != null) { | if (configurator != null) { | ||||
configurator.configure(documentHandler); | configurator.configure(documentHandler); | ||||
} | } | ||||
return documentHandler; | |||||
return new EventProducingFilter(documentHandler, userAgent); | |||||
} | } | ||||
/** | /** |
/* | |||||
* Licensed to the Apache Software Foundation (ASF) under one or more | |||||
* contributor license agreements. See the NOTICE file distributed with | |||||
* this work for additional information regarding copyright ownership. | |||||
* The ASF licenses this file to You under the Apache License, Version 2.0 | |||||
* (the "License"); you may not use this file except in compliance with | |||||
* the License. You may obtain a copy of the License at | |||||
* | |||||
* http://www.apache.org/licenses/LICENSE-2.0 | |||||
* | |||||
* Unless required by applicable law or agreed to in writing, software | |||||
* distributed under the License is distributed on an "AS IS" BASIS, | |||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
* See the License for the specific language governing permissions and | |||||
* limitations under the License. | |||||
*/ | |||||
/* $Id:$ */ | |||||
package org.apache.fop.render.intermediate; | |||||
import org.apache.fop.apps.FOUserAgent; | |||||
import org.apache.fop.render.RendererEventProducer; | |||||
import org.apache.fop.render.intermediate.util.IFDocumentHandlerProxy; | |||||
/** | |||||
* A filter that uses the Event Notification System to broadcast IF events. | |||||
* | |||||
*/ | |||||
public class EventProducingFilter extends IFDocumentHandlerProxy { | |||||
private int pageNumberEnded; | |||||
private FOUserAgent userAgent; | |||||
/** | |||||
* Constructor | |||||
* @param ifDocumentHandler the IFDocumentHandler to filter | |||||
* @param userAgent the FOUerAgent | |||||
*/ | |||||
public EventProducingFilter(IFDocumentHandler ifDocumentHandler, FOUserAgent userAgent) { | |||||
super(ifDocumentHandler); | |||||
this.userAgent = userAgent; | |||||
} | |||||
@Override | |||||
public void endPage() throws IFException { | |||||
super.endPage(); | |||||
pageNumberEnded++; | |||||
RendererEventProducer.Provider.get(userAgent.getEventBroadcaster()) | |||||
.endPage(this, pageNumberEnded); | |||||
} | |||||
} |
<person name="Andreas Delmelle" email="adelmelle@apache.org" id="AD"/> | <person name="Andreas Delmelle" email="adelmelle@apache.org" id="AD"/> | ||||
<person name="Luca Furini" email="lfurini@apache.org" id="LF"/> | <person name="Luca Furini" email="lfurini@apache.org" id="LF"/> | ||||
<person name="Christian Geisert" email="chrisg@apache.org" id="CG"/> | <person name="Christian Geisert" email="chrisg@apache.org" id="CG"/> | ||||
<person name="Peter Hancock" email="phancock@apache.org" id="PH"/> | |||||
<person name="Vincent Hennebert" email="vhennebert@apache.org" id="VH"/> | <person name="Vincent Hennebert" email="vhennebert@apache.org" id="VH"/> | ||||
<person name="Clay Leeds" email="clay@apache.org" id="CL"/> | <person name="Clay Leeds" email="clay@apache.org" id="CL"/> | ||||
<person name="Manuel Mall" email="manuel@apache.org" id="MM"/> | <person name="Manuel Mall" email="manuel@apache.org" id="MM"/> | ||||
documents. Example: the fix of marks layering will be such a case when it's done. | documents. Example: the fix of marks layering will be such a case when it's done. | ||||
--> | --> | ||||
<release version="FOP Trunk" date="TBD"> | <release version="FOP Trunk" date="TBD"> | ||||
<action context="Renderers" dev="PH" type="add"> | |||||
Added an IFDocumentHandler filter for triggering rendering events. Created an Event that | |||||
captures an end page event with the page number. | |||||
</action> | |||||
<action context="Renderers" dev="VH" type="fix"> | <action context="Renderers" dev="VH" type="fix"> | ||||
Bugfix: alternative text not working in tagged PDF for TIFF images. | Bugfix: alternative text not working in tagged PDF for TIFF images. | ||||
</action> | </action> |