【问题标题】:Zend Server CE and BIRT Integration with Javabridge [closed]Zend Server CE 和 BIRT 与 Javabridge 的集成 [关闭]
【发布时间】:2012-02-20 09:59:15
【问题描述】:

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

我面临同样的问题,可以找到下载 birt api 以运行 birt 报告的位置

viewtopic.php?f=44&t=9452&p=30950&hilit=birt#p30950

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

【问题讨论】:

  • 您在寻找什么? encrypted.google.com/search?q=zend+birt 给了我很多结果。
  • 他们已经成为 Zend 平台的一部分。它们不是 Zend Server CE afaik 的一部分。
  • 文档说您应该从 Zend 平台中下载它们。您拥有 Zend Server CE,因此可能没有下载链接。您可以尝试从svn.civicrm.org/civicrm/branches/hrd/CRM/Reports/Zend获取副本
  • BIRT API 是一个 Java API afaik。因此,通过使用 Zend Server's JavaBridge API,您可以与 PHP 中的 Java BIRT API 进行交互。您正在寻找的 Zend_Birt API 只是一个薄包装器。它不是 Zend 框架的一部分,而只是 Zend 平台的一部分。
  • 您要我把上面的cmets总结一下,作为答案让您接受吗?否则,我建议您删除问题。

标签: java php eclipse zend-framework birt


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    Zend_Birt 不是 Zend 框架的一部分,而只是 Zend 平台的一部分。它不是 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 运行时环境。

    【讨论】:

      【解决方案3】:

      如果您下载 3.7 运行时,您应该能够构建命令 运行报告的行应用程序。附上一个简单的例子。建造 班级确保你有运行时的罐子 类路径中的下载/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();
      }
      }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多