C#+ArcEngine打印横向和纵向调整

在用C#开发ArcEngine程序实现Pagelaylout打印功能的时候,在实现横向打印的时候,总会出现如下图的情况

 

通过修改axPageLayoutControl1.Page.Orientation = 1;属性发现也不作用;需要通过修改IMapFrame进行修改能够实现横向和纵向的合理变化;

 

横向显示代码如下

    IMap pMap;

    IGraphicsContainer pGraphicsContainer;

    IMapFrame pMapFrame;

    pMap =axPageLayoutControl1.ActiveView.FocusMap;

    pGraphicsContainer= (IGraphicsContainer)axPageLayoutControl1.PageLayout;

    pMapFrame. = (IMapFrame)pGraphicsContainer.FindFrame(pMap);

    ISymbolBorder pSymborder = newSymbolBorderClass();

   pSymborder.CornerRounding = 0;

    IBorder pBorder = pSymborder;

    pMapFrame.Border =pBorder;

   pMapFrame.ExtentType = esriExtentTypeEnum.esriExtentBounds;

    IElement pElement = (IElement)pMapFrame;

    IEnvelope pEnvelop = newEnvelopeClass();

   pEnvelop.PutCoords(0.5, 0.5, 29.2, 20.5);  //这里设置mapframe的大小

    IGeometry pGeometry = pEnvelop;

    pElement.Geometry= pGeometry;

    IPage pPage = axPageLayoutControl1.Page;

    pPage.Orientation= 1;

   pPage.PutCustomSize(29.7, 21.0);  //这里设置page的大小

   axPageLayoutControl1.ActiveView.Refresh();

 

效果如下图

纵向显示代码如下

 

    IMap pMap;

    IGraphicsContainer pGraphicsContainer;

    IMapFrame pMapFrame;

    pMap =axPageLayoutControl1.ActiveView.FocusMap;

    pGraphicsContainer= (IGraphicsContainer)axPageLayoutControl1.PageLayout;

    pMapFrame. = (IMapFrame)pGraphicsContainer.FindFrame(pMap);

    ISymbolBorder pSymborder = newSymbolBorderClass();

   pSymborder.CornerRounding = 0;

    IBorder pBorder = pSymborder;

    pMapFrame.Border =pBorder;

   pMapFrame.ExtentType = esriExtentTypeEnum.esriExtentBounds;

    IElement pElement = (IElement)pMapFrame;

    IEnvelope pEnvelop = newEnvelopeClass();

   pEnvelop.PutCoords(0.5, 0.5, 20.5,29.2); //这里设置mapframe的大小

    IGeometry pGeometry = pEnvelop;

    pElement.Geometry= pGeometry;

    IPage pPage = axPageLayoutControl1.Page;

    pPage.Orientation= 2;

   pPage.PutCustomSize(21.0, 29.7);  //这里设置page的大小

   axPageLayoutControl1.ActiveView.Refresh();

 

效果如下图

 

 

本实例使用A4纸张的尺寸进行测试,具体的应用还要根据实际的情况进行设置。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值