To set a page margin condition formula with the PrintOutputController class

  1. Retrieve the PrintOutputController object.
    PrintOutputController printOutputController = rcd.getPrintOutputController();
  2. Create a new IConditionFormula object.
    IConditionFormula condFormula = new ConditionFormula();
  3. Set the formula syntax and text.
    String formulaText = "If Remainder(pagenumber, 2) = 0 then 1440 else 2880";
    condFormula.setSyntax(FormulaSyntax.crystal);
    condFormula.setText(formulaText);
  4. Use the PrintOutputController.setPageMarginFormula method to modify the page margin conditional formula.
    printOutputController.setPageMarginFormula(PageMarginConditionFormulaType.left, condFormula);
Example: 
This sample creates a formula that checks whether a page number is even or odd and sets the margins accordingly: if the page is an even number, the margin is set to one inch; if the page is an odd number, the margin is set to two inches. The formula is applied to the left margin of the report.
void setPageMarginFormula(ReportClientDocument rcd) throws ReportSDKException
{
  PrintOutputController printOutputController = rcd.getPrintOutputController();
  IConditionFormula condFormula = new ConditionFormula();

  String formulaText = "If Remainder(pagenumber, 2) = 0 then 1440 else 2880";
  condFormula.setSyntax(FormulaSyntax.crystal);
  condFormula.setText(formulaText);
  printOutputController.setPageMarginFormula(PageMarginConditionFormulaType.left, condFormula);
}
This list includes the classes used by the sample code:
  • com.crystaldecisions.sdk.occa.report.application.PrintOutputController
  • com.crystaldecisions.sdk.occa.report.application.ReportClientDocument
  • com.crystaldecisions.sdk.occa.report.data.FormulaSyntax
  • com.crystaldecisions.sdk.occa.report.definition.IConditionFormula
  • com.crystaldecisions.sdk.occa.report.definition.ConditionFormula
  • com.crystaldecisions.sdk.occa.report.definition.PageMarginConditionFormulaType
  • com.crystaldecisions.sdk.occa.report.lib.ReportSDKException