ホームページ >ウェブフロントエンド >htmlチュートリアル >BIRTレポートファイルからページ設定情報(余白、用紙サイズ、出力方向)を取得する方法 file_html/css_WEB-ITnose
印刷時、特にレポートの場合、ページ間隔、用紙サイズ、出力方向などのページ設定情報は非常に重要であり、各レポートの関連パラメータは異なる場合があります。したがって、これは非常に一般的で合理的なものです。アイデア。
BIRT がレポート開発ツールとして使用される場合、レポート デザイナーはレポートの作成を担当し、BIRT ランタイムはレポート ファイルの処理を担当します。ブラウザーの場合、BIRT バックエンド出力は Web ページです。参照 プリンターには独自の印刷設定オプションがあり、Web ページからは読み込まれません。そのため、レポート デザイナーは、レポートをデザインするときにページ設定情報の設定インターフェイスを提供します。特定のレポート情報からページ設定を取得するには、ランタイム API を介してコードを手動で記述し、他の方法でパラメーターをプリンターに渡す必要があります (プリンターの操作については、この記事の範囲外です)。 BIRT のソースコードの研究を通じてコードを開発します。 BIRT レポート デザイナーのページ設定情報は、ホームページ タブに対応する属性パネルに反映され、コード上で直接繰り返されません:
IReportEngine birtEngine = ...;Map moduleOptions = new HashMap();moduleOptions.put(IModuleOption.RESOURCE_FOLDER_KEY,sc.getRealPath("/"));IReportRunnable runnable = birtEngine.openReportDesign(reportFileName,null,moduleOptions);IMasterPage simpleMasterPage = runnable.getDesignInstance().getReport().getMasterPage("Simple MasterPage");String pageType =(String) simpleMasterPage.getUserProperty("type");//纸张类型Double height = 0.0;Double width =0.0;//如果是自定义纸张类型,需要获取纸张的宽和高if("custom".equalsIgnoreCase(pageType)){ DimensionValue heightDV = (DimensionValue) simpleMasterPage.getUserProperty("height"); DimensionValue widthDV = (DimensionValue) simpleMasterPage.getUserProperty("width"); height = heightDV.getMeasure(); width = widthDV.getMeasure();}String orientation = (String) simpleMasterPage.getUserProperty("orientation");//打印输出方向 landscape:横向,portrait:纵向DimensionValue topMarginDV = (DimensionValue)simpleMasterPage.getUserProperty("topMargin");double topMargin = topMarginDV.getMeasure();//上边距String unit = topMarginDV.getUnits();//单位E
その中に奇妙な場所があります。ホームページ属性エディターの属性編集 この名前は変更できます。このページの構成情報を取得したい場合は、getMasterPage メソッドでもこの名前を渡す必要があります。これは非常に奇妙です。この名前は何のためにあるのですか?