2. Validity checking on fo:conditional-page-master-reference added. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197741 13f79535-47bb-0310-9956-ffa450edef68pull/30/head
/* output mode */ | /* output mode */ | ||||
private int outputmode = NOT_SET; | private int outputmode = NOT_SET; | ||||
private java.util.HashMap rendererOptions; | |||||
private FOUserAgent foUserAgent; | |||||
private Log log; | private Log log; | ||||
private Vector xsltParams = null; | private Vector xsltParams = null; | ||||
log = LogFactory.getLog("FOP"); | log = LogFactory.getLog("FOP"); | ||||
boolean optionsParsed = true; | boolean optionsParsed = true; | ||||
rendererOptions = new java.util.HashMap(); | |||||
foUserAgent = new FOUserAgent(); | |||||
try { | try { | ||||
optionsParsed = parseOptions(args); | optionsParsed = parseOptions(args); | ||||
if (optionsParsed) { | if (optionsParsed) { | ||||
case SVG_OUTPUT: | case SVG_OUTPUT: | ||||
return Driver.RENDER_SVG; | return Driver.RENDER_SVG; | ||||
case AREA_OUTPUT: | case AREA_OUTPUT: | ||||
rendererOptions.put("fineDetail", isCoarseAreaXml()); | |||||
foUserAgent.getRendererOptions().put("fineDetail", isCoarseAreaXml()); | |||||
return Driver.RENDER_XML; | return Driver.RENDER_XML; | ||||
case RTF_OUTPUT: | case RTF_OUTPUT: | ||||
return Driver.RENDER_RTF; | return Driver.RENDER_RTF; | ||||
} | } | ||||
/** | /** | ||||
* Get the renderer specific options. | |||||
* @return hash map with option/value pairs. | |||||
* Get the FOUserAgent for this Command-Line run | |||||
* @return FOUserAgent instance | |||||
*/ | */ | ||||
public java.util.HashMap getRendererOptions() { | |||||
return rendererOptions; | |||||
protected FOUserAgent getFOUserAgent() { | |||||
return foUserAgent; | |||||
} | } | ||||
/** | /** |
package org.apache.fop.apps; | package org.apache.fop.apps; | ||||
// Java | // Java | ||||
import java.util.HashMap; | |||||
import java.util.Map; | import java.util.Map; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.io.InputStream; | import java.io.InputStream; | ||||
private String baseURL; | private String baseURL; | ||||
private PDFEncryptionParams pdfEncryptionParams; | private PDFEncryptionParams pdfEncryptionParams; | ||||
private float px2mm = 0.35277777777777777778f; //72dpi (=25.4/dpi) | private float px2mm = 0.35277777777777777778f; //72dpi (=25.4/dpi) | ||||
private HashMap rendererOptions = new java.util.HashMap(); | |||||
/** | |||||
* Returns the renderer options | |||||
* @return renderer options | |||||
*/ | |||||
public HashMap getRendererOptions() { | |||||
return rendererOptions; | |||||
} | |||||
/** | /** | ||||
* Sets the base URL. | * Sets the base URL. |
Driver driver = new Driver(); | Driver driver = new Driver(); | ||||
options = new CommandLineOptions(args); | options = new CommandLineOptions(args); | ||||
driver.setUserAgent(options.getFOUserAgent()); | |||||
inputHandler = options.getInputHandler(); | inputHandler = options.getInputHandler(); | ||||
try { | try { | ||||
} | } | ||||
} | } | ||||
if (driver.getRenderer() != null) { | |||||
driver.getRenderer().setOptions(options.getRendererOptions()); | |||||
} | |||||
driver.render(inputHandler); | driver.render(inputHandler); | ||||
} finally { | } finally { | ||||
if (bos != null) { | if (bos != null) { |
// XML | // XML | ||||
import org.xml.sax.Attributes; | import org.xml.sax.Attributes; | ||||
import org.xml.sax.Locator; | |||||
// FOP | // FOP | ||||
import org.apache.fop.fo.FONode; | import org.apache.fop.fo.FONode; | ||||
super(parent); | super(parent); | ||||
} | } | ||||
/** | |||||
* @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String) | |||||
* XSL/FOP Content Model: empty | |||||
*/ | |||||
protected void validateChildNode(Locator loc, String nsURI, String localName) { | |||||
invalidChildError(loc, nsURI, localName); | |||||
} | |||||
/** | /** | ||||
* @see org.apache.fop.fo.FObj#addProperties | * @see org.apache.fop.fo.FObj#addProperties | ||||
*/ | */ |
*/ | */ | ||||
protected Date creationDate = null; | protected Date creationDate = null; | ||||
/** | |||||
* renderer configuration | |||||
*/ | |||||
protected Map options; | |||||
/** | /** | ||||
* block progression position | * block progression position | ||||
*/ | */ | ||||
creationDate = date; | creationDate = date; | ||||
} | } | ||||
/** @see org.apache.fop.render.Renderer */ | |||||
public void setOptions(Map opt) { | |||||
options = opt; | |||||
} | |||||
/** @see org.apache.fop.render.Renderer */ | /** @see org.apache.fop.render.Renderer */ | ||||
public void startRenderer(OutputStream outputStream) | public void startRenderer(OutputStream outputStream) | ||||
throws IOException { } | throws IOException { } |
*/ | */ | ||||
void setupFontInfo(FontInfo fontInfo); | void setupFontInfo(FontInfo fontInfo); | ||||
/** | |||||
* Set up renderer options. | |||||
* | |||||
* @param options The Configuration for the renderer | |||||
*/ | |||||
void setOptions(Map options); | |||||
/** | /** | ||||
* Set the producer of the rendering. If this method isn't called the | * Set the producer of the rendering. If this method isn't called the | ||||
* renderer uses a default. Note: Not all renderers support this feature. | * renderer uses a default. Note: Not all renderers support this feature. |
} | } | ||||
private boolean isCoarseXml() { | private boolean isCoarseXml() { | ||||
return ((Boolean) options.get("fineDetail")).booleanValue(); | |||||
return ((Boolean) | |||||
userAgent.getRendererOptions().get("fineDetail")).booleanValue(); | |||||
} | } | ||||
/** | /** |
driver.setRenderer(Driver.RENDER_XML); | driver.setRenderer(Driver.RENDER_XML); | ||||
} | } | ||||
Map rendererOptions = new java.util.HashMap(); | |||||
rendererOptions.put("fineDetail", new Boolean(false)); | |||||
rendererOptions.put("consistentOutput", new Boolean(true)); | |||||
driver.getRenderer().setOptions(rendererOptions); | |||||
userAgent.getRendererOptions().put("fineDetail", new Boolean(false)); | |||||
userAgent.getRendererOptions().put("consistentOutput", new Boolean(true)); | |||||
driver.getRenderer().setProducer("Testsuite Converter"); | driver.getRenderer().setProducer("Testsuite Converter"); | ||||
String outname = res; | String outname = res; |