ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Reports Namespace / Report Class / SetPage Method
The new page for the report.
Example

In This Topic
    SetPage Method (Report)
    In This Topic
    Sets the page of the report. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    Public Sub SetPage( _
       ByVal page As CIMPage _
    ) 
    public void SetPage( 
       CIMPage page
    )

    Parameters

    page
    The new page for the report.
    Exceptions
    ExceptionDescription
    This method or property must be called within the lambda passed to QueuedTask.Run.
    Example
    Create a new layout using a modified CIM and open it
    {
      //Create a new layout using a modified CIM and open it.
      //The CIM exposes additional members that may not be
      //available through the managed API.  
      //In this example, optional guides are added.
      //Create a new CIMLayout on the worker thread
    
      //Note: Needs QueuedTask to run
      //Set up a CIM page
      CIMPage newPage = new CIMPage
      {
        //required parameters
        Width = 8.5,
        Height = 11,
        Units = LinearUnit.Inches,
    
        //optional rulers
        ShowRulers = true,
        SmallestRulerDivision = 0.5,
    
        //optional guides
        ShowGuides = true
      };
      CIMGuide guide1 = new CIMGuide
      {
        Position = 1,
        Orientation = Orientation.Vertical
      };
      CIMGuide guide2 = new CIMGuide
      {
        Position = 6.5,
        Orientation = Orientation.Vertical
      };
      CIMGuide guide3 = new CIMGuide
      {
        Position = 1,
        Orientation = Orientation.Horizontal
      };
      CIMGuide guide4 = new CIMGuide
      {
        Position = 10,
        Orientation = Orientation.Horizontal
      };
    
      List<CIMGuide> guideList = new List<CIMGuide>
      {
        guide1,
        guide2,
        guide3,
        guide4
      };
      newPage.Guides = guideList.ToArray();
    
      //Construct the new layout using the customized cim definitions
      var layout_local = LayoutFactory.Instance.CreateLayout(newPage);
      layout_local.SetName("New 8.5x11 Layout");
    
      //Open new layout on the GUI thread
      await ProApp.Panes.CreateLayoutPaneAsync(layout_local);
    
    }
    Change the layout page size
    {
      //Change the layout page size.
      //Reference the layout project item
      LayoutProjectItem lytItem = Project.Current.GetItems<LayoutProjectItem>()
                             .FirstOrDefault(item => item.Name.Equals("MyLayoutItem"));
      if (layoutItem != null)
      {
        //Note: Needs QueuedTask to run
        //Get the layout
        Layout lyt = lytItem.GetLayout();
        if (lyt != null)
        {
          //Change properties
          CIMPage page = lyt.GetPage();
          page.Width = 8.5;
          page.Height = 11;
    
          //Apply the changes to the layout
          lyt.SetPage(page);
        }
      }
    }
    Modify the report Page
    {
      //Note: Call within QueuedTask.Run()
      var cimReportPage = new CIMPage
      {
        Height = 12,
        StretchElements = false,
        Width = 6.5,
        ShowRulers = true,
        ShowGuides = true,
        Margin = new CIMMargin { Bottom = 1, Left = 1, Right = 1, Top = 1 },
        Units = LinearUnit.Inches
      };
      report.SetPage(cimReportPage);
      //Change only the report's page height
      report.SetPageHeight(12);
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also