Browse Source

Extended to allow generating the renderer and painter PDF alongside each other for visual inspection.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign@686229 13f79535-47bb-0310-9956-ffa450edef68
pull/17/head
Jeremias Maerki 15 years ago
parent
commit
d62008677f

+ 14
- 6
test/java/org/apache/fop/visual/AbstractPSPDFBitmapProducer.java View File

@@ -35,6 +35,7 @@ import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.commons.io.IOUtils;

import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
@@ -70,11 +71,16 @@ public abstract class AbstractPSPDFBitmapProducer extends AbstractBitmapProducer

private String converter;
private boolean deleteTempFiles;
/** the bitmap producer's target format */
protected String targetFormat;

/** @see org.apache.avalon.framework.configuration.Configurable */
/** {@inheritDoc} */
public void configure(Configuration cfg) throws ConfigurationException {
this.converter = cfg.getChild("converter").getValue();
this.deleteTempFiles = cfg.getChild("delete-temp-files").getValueAsBoolean(true);
if (cfg.getChild("target-format", false) != null) {
this.targetFormat = cfg.getChild("target-format").getValue();
}
}

/**
@@ -106,19 +112,21 @@ public abstract class AbstractPSPDFBitmapProducer extends AbstractBitmapProducer
/**
* @return the output format for the FOP renderer, i.e. a MIME type.
*/
protected abstract String getTargetFormat();
protected String getTargetFormat() {
return this.targetFormat;
}

/** @see org.apache.fop.visual.BitmapProducer */
public BufferedImage produce(File src, ProducerContext context) {
/** {@inheritDoc} */
public BufferedImage produce(File src, int index, ProducerContext context) {
try {
FOUserAgent userAgent = fopFactory.newFOUserAgent();
userAgent.setTargetResolution(context.getTargetResolution());
userAgent.setBaseURL(src.getParentFile().toURL().toString());

File tempOut = new File(context.getTargetDir(),
src.getName() + "." + getTargetExtension());
src.getName() + "." + index + "." + getTargetExtension());
File tempPNG = new File(context.getTargetDir(),
src.getName() + "." + getTargetExtension() + ".png");
src.getName() + "." + index + "." + getTargetExtension() + ".png");
try {
OutputStream out = new FileOutputStream(tempOut);
out = new BufferedOutputStream(out);

+ 1
- 1
test/java/org/apache/fop/visual/BatchDiffer.java View File

@@ -176,7 +176,7 @@ public class BatchDiffer {
final BufferedImage[] bitmaps = new BufferedImage[producers.length];
for (int j = 0; j < producers.length; j++) {
times[j] = System.currentTimeMillis();
bitmaps[j] = producers[j].produce(f, context);
bitmaps[j] = producers[j].produce(f, j, context);
times[j] = System.currentTimeMillis() - times[j];
}
if (log.isDebugEnabled()) {

+ 2
- 1
test/java/org/apache/fop/visual/BitmapProducer.java View File

@@ -31,9 +31,10 @@ public interface BitmapProducer {
* Produces a BufferedImage from the source file by invoking the FO processor and
* converting the generated output file to a bitmap image if necessary.
* @param src the source FO or XML file
* @param index the index of the producer inside the test set
* @param context context information for the conversion
* @return the generated BufferedImage
*/
BufferedImage produce(File src, ProducerContext context);
BufferedImage produce(File src, int index, ProducerContext context);

}

+ 4
- 2
test/java/org/apache/fop/visual/BitmapProducerJava2D.java View File

@@ -33,6 +33,7 @@ import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.commons.io.IOUtils;

import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
@@ -64,13 +65,14 @@ public class BitmapProducerJava2D extends AbstractBitmapProducer implements Conf
}

/** @see org.apache.fop.visual.BitmapProducer */
public BufferedImage produce(File src, ProducerContext context) {
public BufferedImage produce(File src, int index, ProducerContext context) {
try {
FOUserAgent userAgent = fopFactory.newFOUserAgent();
userAgent.setTargetResolution(context.getTargetResolution());
userAgent.setBaseURL(src.getParentFile().toURL().toString());

File outputFile = new File(context.getTargetDir(), src.getName() + ".java2d.png");
File outputFile = new File(context.getTargetDir(),
src.getName() + "." + index + ".java2d.png");
OutputStream out = new FileOutputStream(outputFile);
out = new BufferedOutputStream(out);
try {

+ 8
- 6
test/java/org/apache/fop/visual/BitmapProducerPDF.java View File

@@ -29,14 +29,16 @@ import org.apache.fop.apps.MimeConstants;
*/
public class BitmapProducerPDF extends AbstractPSPDFBitmapProducer {

/** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetExtension() */
protected String getTargetExtension() {
return "pdf";
/**
* Default constructor.
*/
public BitmapProducerPDF() {
this.targetFormat = MimeConstants.MIME_PDF;
}

/** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetFormat() */
protected String getTargetFormat() {
return MimeConstants.MIME_PDF;
/** {@inheritDoc} */
protected String getTargetExtension() {
return "pdf";
}

}

+ 8
- 7
test/java/org/apache/fop/visual/BitmapProducerPS.java View File

@@ -29,15 +29,16 @@ import org.apache.fop.apps.MimeConstants;
*/
public class BitmapProducerPS extends AbstractPSPDFBitmapProducer {

/** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetExtension() */
protected String getTargetExtension() {
return "ps";
/**
* Default constructor.
*/
public BitmapProducerPS() {
this.targetFormat = MimeConstants.MIME_POSTSCRIPT;
}

/** @see org.apache.fop.visual.AbstractPSPDFBitmapProducer#getTargetFormat() */
protected String getTargetFormat() {
return MimeConstants.MIME_POSTSCRIPT;
/** {@inheritDoc} */
protected String getTargetExtension() {
return "ps";
}


}

+ 1
- 1
test/java/org/apache/fop/visual/ReferenceBitmapLoader.java View File

@@ -51,7 +51,7 @@ public class ReferenceBitmapLoader extends AbstractBitmapProducer implements Con
}

/** @see org.apache.fop.visual.BitmapProducer */
public BufferedImage produce(File src, ProducerContext context) {
public BufferedImage produce(File src, int index, ProducerContext context) {
try {
File bitmap = new File(bitmapDirectory, src.getName() + ".png");
if (bitmap.exists()) {

Loading…
Cancel
Save