3.7ランタイムをダウンロードした場合は、レポートを実行するコマンド コマンドをビルドすることができます。添付は簡単な例です。 をビルドするには、クラスパスのランタイム のダウンロード/ reportengine/libディレクトリからjarファイルがあることを確認してください。一度あなたを構築した は、それを簡単な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();
}
}
}
私は最新のzendバージョンを使用しています。私はzirt java bridgeを使用してbirtレポートを実行しようとしていますが、zends birt apiを見つけることはできません。私はそこにくっついている。私はtomcatまたはPHP javabridgeを使用することはできません。私は正常に動作するテストされているzend javabridgeとbirtのレポートを統合する必要があります。レポートの実行方法 –
特に何をお探しですか? https://encrypted.google.com/search?q=zend+birtで十分な結果が得られます。 – Gordon
私は、zendのjavabridgeとzendフレームワークでbirtの報告を実装しようとしています。しかし、私はbirtの報告を実装するためのbirt APIが欠けています。 –