我能够成功运行Zend Server Java Bridge并对其进行测试,但我无法找到有关如何让Birt Engine与Zend Server Java Bridge一起工作的任何信息。有没有人想出如何让这个工作?
我面临同样的问题可以找到下载birt api的地方来运行birt报告
viewtopic.php F = 44&安培; T = 9452&安培; P = 30950&安培;体液型= BIRT#p30950
如果有人有例子......请...告诉我该怎么做... 谢谢。
答案 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();
}
}
}