ソースを参照

removed legacy xt file


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194527 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-0_20_4-doc
Keiron Liddle 22年前
コミット
d609fe0d67
1個のファイルの変更0行の追加213行の削除
  1. 0
    213
      src/org/apache/fop/apps/PDFOutputHandler.java

+ 0
- 213
src/org/apache/fop/apps/PDFOutputHandler.java ファイルの表示

@@ -1,213 +0,0 @@
/*
* $Id$
* 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.
*/

package org.apache.fop.apps;

import org.xml.sax.*;
import com.jclark.xsl.sax.*;
import java.io.*;

// FOP
import org.apache.fop.fo.XTFOTreeBuilder;
import org.apache.fop.fo.XTElementMapping;
import org.apache.fop.layout.AreaTree;
import org.apache.fop.layout.FontInfo;
import org.apache.fop.render.Renderer;
import org.apache.fop.messaging.MessageHandler;

// ////////////////////////////////////////////////////////////////////////////////////

/**
* A DocumentHandler that writes a PDF representation to an OutputStream.
*
* Use with James Clark's XT. Just put FOP on your class path and add
* <xsl:output method="fop:org.apache.fop.apps.PDFOutputHandler"
* xmlns:fop="http://www.jclark.com/xt/java"/>
* to your stylesheet. Now XT will automatically call FOP.
*
*/
public class PDFOutputHandler extends XTFOTreeBuilder
implements OutputDocumentHandler {

/**
* the area tree that is the result of formatting the FO tree
*/
protected AreaTree areaTree;

/**
* the renderer to use to output the area tree
*/
protected Renderer renderer;

/**
* the PrintWriter to use to output the results of the renderer
*/
protected PrintWriter writer;

/**
* the stream to use to output the results of the renderer
*/
protected OutputStream stream;

private boolean keepOpen;

// ////////////////////////////////////////////////////////////////////////////////////

/**
*/
public PDFOutputHandler() {}

// ////////////////////////////////////////////////////////////////////////////////////

/**
*/
public PDFOutputHandler(OutputStream out) {
this();
this.stream = out;
}

// ////////////////////////////////////////////////////////////////////////////////////

/**
*/
public DocumentHandler init(Destination dest,
AttributeList atts) throws IOException {
this.stream = dest.getOutputStream("application/pdf", null);
this.keepOpen = dest.keepOpen();

String version = org.apache.fop.apps.Version.getVersion();
setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);
addElementMapping("org.apache.fop.fo.StandardElementMapping");
addElementMapping("org.apache.fop.svg.SVGElementMapping");
return this;
}

// ////////////////////////////////////////////////////////////////////////////////////

/**
* set the class name of the Renderer to use as well as the
* producer string for those renderers that can make use of it
*/
public void setRenderer(String rendererClassName, String producer) {
this.renderer = createRenderer(rendererClassName);
this.renderer.setProducer(producer);
}

// ////////////////////////////////////////////////////////////////////////////////////

/**
* SAX passthrough, finish rendering the document
*/
public void endDocument() throws SAXException {
super.endDocument();

try {
doFormat();
doRender();
} catch (IOException io) {
throw new SAXException(io);
} catch (FOPException fop) {
throw new SAXException(fop);
}
writer.flush();
}

// ////////////////////////////////////////////////////////////////////////////////////

/**
* format the formatting object tree into an area tree
*/
public void doFormat() throws FOPException {
FontInfo fontInfo = new FontInfo();
this.renderer.setupFontInfo(fontInfo);

// this.areaTree = new AreaTree();
this.areaTree.setFontInfo(fontInfo);

format(areaTree);
}

// ////////////////////////////////////////////////////////////////////////////////////

/**
* render the area tree to the output form
*/
public void doRender() throws IOException, FOPException {
//this.renderer.render(areaTree, this.stream);
}

// ////////////////////////////////////////////////////////////////////////////////////

/**
* add the given element mapping.
*
* an element mapping maps element names to Java classes
*/
public void addElementMapping(XTElementMapping mapping) {
mapping.addToBuilder(this);
}

// ////////////////////////////////////////////////////////////////////////////////////

/**
* add the element mapping with the given class name
*/
public void addElementMapping(String mappingClassName) {
createElementMapping(mappingClassName).addToBuilder(this);
}

// ////////////////////////////////////////////////////////////////////////////////////

/**
* protected method used by addElementMapping(String) to
* instantiate element mapping class
*/
protected XTElementMapping createElementMapping(String mappingClassName) {
MessageHandler.logln("using element mapping " + mappingClassName);

try {
return (XTElementMapping)Class.forName(mappingClassName).newInstance();
} catch (ClassNotFoundException e) {
MessageHandler.errorln("Could not find " + mappingClassName);
} catch (InstantiationException e) {
MessageHandler.errorln("Could not instantiate "
+ mappingClassName);
} catch (IllegalAccessException e) {
MessageHandler.errorln("Could not access " + mappingClassName);
} catch (ClassCastException e) {
MessageHandler.errorln(mappingClassName
+ " is not an element mapping");
}
return null;
}

// ////////////////////////////////////////////////////////////////////////////////////

/**
* protected method used by setRenderer(String, String) to
* instantiate the Renderer class
*/
protected Renderer createRenderer(String rendererClassName) {
MessageHandler.logln("using renderer " + rendererClassName);

try {
return (Renderer)Class.forName(rendererClassName).newInstance();
} catch (ClassNotFoundException e) {
MessageHandler.errorln("Could not find " + rendererClassName);
} catch (InstantiationException e) {
MessageHandler.errorln("Could not instantiate "
+ rendererClassName);
} catch (IllegalAccessException e) {
MessageHandler.errorln("Could not access " + rendererClassName);
} catch (ClassCastException e) {
MessageHandler.errorln(rendererClassName + " is not a renderer");
}
return null;
}

}


読み込み中…
キャンセル
保存