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

原创 2013年12月04日 15:59:03

在用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纸张的尺寸进行测试,具体的应用还要根据实际的情况进行设置。

 

C# DevExpress 自定义打印(设置横向打印为例)。

   //打印        private void btnPrint_Click(object sender, EventArgs e)        {              PrintPr...

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

C#+ArcEngine打印横向和纵向调整   在用C#开发ArcEngine程序实现Pagelaylout打印功能的时候,在实现横向打印的时候,总会出现如下图的情况    通过修改axPag...

C#横向树、纵向书、打印

  • 2015年12月17日 22:00
  • 371KB
  • 下载

在C#中进行数据纵向不定行转横向列,多条信息成一行,例如员工薪资信息

DataTable dt = Maticsoft.DBUtility.DbHelperOra.Query(QuerySql).Tables[0]; //DT的数据如下图所示 ...

Word 纸张方向横向纵向调整格式问题

1、下图是Word横向纵向切换的属性选择: 2、当Word纸张横向纵向调整之后,文档里面的格式就会出现乱的情况那么就要调整表格的排版 选择红框的+的标志,相当于选择了当前表格 ...

ASP横向输出和纵向输出PDF

 edition=session("edition") userrole=session("userrole") projectid=request("projectid") pl...

横向listview和纵向listview相结合

  • 2016年03月02日 14:44
  • 1.4MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#+ArcEngine打印横向和纵向调整
举报原因:
原因补充:

(最多只允许输入30个字)