Zend Server CE和BIRT与Javabridge集成

时间:2012-02-20 09:59:16

标签: java php eclipse zend-framework birt

我能够成功运行Zend Server Java Bridge并对其进行测试,但我无法找到有关如何让Birt Engine与Zend Server Java Bridge一起工作的任何信息。有没有人想出如何让这个工作?

我面临同样的问题可以找到下载birt api的地方来运行birt报告

viewtopic.php F = 44&安培; T = 9452&安培; P = 30950&安培;体液型= BIRT#p30950

如果有人有例子......请...告诉我该怎么做... 谢谢。

3 个答案:

答案 0 :(得分:2)

我已经找到了关于在zend平台上集成birt的一些信息你也可以参考这个pdf文件

http://static.zend.com/topics/Zend-Platform-User-Guide-v360-new.pdf

答案 1 :(得分:2)

Zend_Birt不是Zend Framework的一部分,而只是Zend Platform的一部分。它不是Zend Server CE afaik的一部分。但是,BIRT API is a Java API。因此,通过使用Zend Server's JavaBridge API,您可以与PHP的BIRT API进行交互。您正在寻找的Zend_Birt API只是一个很薄的包装器。您可以尝试从

中获取副本

detailed blogpost explaining how to use BIRT reporting without Zend Platform还有一个JavaBride。它显然直接挂钩到BIRT运行时环境。

答案 2 :(得分:1)

如果您下载3.7运行时,您应该能够构建命令 运行报告的line app。附件是一个简单的例子。建立 该类确保您拥有运行时的jar 在类路径中下载/ reportengine / lib目录。一旦建成你 应该能够像简单的Java应用程序一样调用它。这个 示例执行平台启动和关闭,这通常不是一个 如果您要生成大量报告,这是个好主意。一个更好的 解决方案是将平台启动和报告引擎创建包装在一个 在服务器启动时启动的单例,然后使用引擎 每个请求创建一个新任务。

import java.util.logging.Level;

import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EXCELRenderOption;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineConstants;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
import org.eclipse.birt.report.engine.api.PDFRenderOption;
import org.eclipse.birt.report.engine.api.RenderOption;
import org.eclipse.birt.report.engine.api.impl.RunAndRenderTask;
import org.eclipse.birt.report.engine.api.script.IReportContext;


public class RunAndRenderTaskTest {

public void runReport() throws EngineException
{

RunAndRenderTask task=null;
IReportEngine engine=null;
EngineConfig config = null;

try{
config = new EngineConfig( );   
//config.setLogConfig("c:/dwn", Level.SEVERE);
//config.setResourcePath("C:/work/workspaces/3.7.1workspaces/BIRT 
Metal/APIs/resources");
Platform.startup( config );

IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject( 
IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = factory.createReportEngine( config );


IReportRunnable design = null;
//Open the report design

design = engine.openReportDesign("Reports/testlibrary.rptdesign");
task = (RunAndRenderTask) engine.createRunAndRenderTask(design);    
IReportContext irc = task.getReportContext();
//task.setParameterValue("Top Count", (new Integer(5)));
//task.validateParameters();


//HTMLRenderOption options = new HTMLRenderOption();    
//options.setImageDirectory("./");
//options.setOutputFileName("output/resample/external.html");
//options.setOutputFormat("html");
//options.setEmbeddable(false);
//options.setEnableMetadata(true);
//options.setEnableInlineStyle(false);
//options.setEnableAgentStyleEngine(true);
//options.setEnableCompactMode(true);

//PDFRenderOption options = new PDFRenderOption();
//options.setOutputFileName("output/resample/hidefooter.pdf");
//options.setSupportedImageFormats("PNG;GIF;JPG;BMP;SWF;SVG");
//options.setOutputFormat("pdf");

//EXCELRenderOption options = new EXCELRenderOption();  
//options.setOutputFormat("xls");
//options.setOutputFileName("output/resample/customers.xls");
//options.setWrappingText(true);

HTMLRenderOption options = new HTMLRenderOption();
//options.setImageHandler(new HTMLServerImageHandler());
options.setSupportedImageFormats("JPG;PNG;BMP;SVG;GIF");
options.setOutputFileName("output/resample/testlibrary.html");
options.setOutputFormat("html");
//options.setOutputFormat("ppt");



task.setRenderOption(options);
task.run();

irc = task.getReportContext();

task.close();
engine.destroy();
}catch( Exception ex){
ex.printStackTrace();
}   
Platform.shutdown( );
System.out.println("Finished");



}   


/**
* @param args
*/
public static void main(String[] args) {
try
{

RunAndRenderTaskTest ex = new RunAndRenderTaskTest( );
ex.runReport();

System.exit(0);

}
catch ( Exception e )
{
e.printStackTrace();
}
}
}