`
蓝色飞扬
  • 浏览: 94330 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

web GIS地图打印(3)

阅读更多

//set summary height

       int summary_w = width - leftMargin - rightMargin;

       int summary_h = height-(topMargin + bottomMargin + t1_h + north_img_h + logo_img_h);

       su_band.setAttribute(new Attribute("height",String.valueOf(summary_h)));

       //set pageFooter height

       int pf_h = t1_h+north_img_h+logo_img_h;

       pf_band.setAttribute(new Attribute("height",String.valueOf(pf_h)));

       //set p0 width and height

       int m_img_width = (int)Math.round(summary_h * (mapHeight / mapWidth));

       int m_img_height =(int)Math.round(summary_w * (mapWidth / mapHeight));

       if(m_img_height > summary_h){

           su_reportElement.setAttribute(new Attribute("width",String.valueOf(m_img_width)));

           su_reportElement.setAttribute(new Attribute("height",String.valueOf(summary_h)));

       }else{

           su_reportElement.setAttribute(new Attribute("width",String.valueOf(summary_w)));

           su_reportElement.setAttribute(new Attribute("height",String.valueOf(m_img_height)));

       }

       su_imageExpression.setContent(new CDATA("\""+imgUrl+"\""));

       //set t1

       int t1_x = summary_w - t1_w;

       int t1_y = 0;

       t1_reportElement.setAttribute(new Attribute("x",String.valueOf(t1_x)));

       t1_reportElement.setAttribute(new Attribute("y",String.valueOf(t1_y)));

       t1_text.addContent(new CDATA("Project:"+title));

       //set t2

       int t2_y = t1_y + t1_h;

       t2_reportElement.setAttribute(new Attribute("x", String.valueOf(t1_x)));

       t2_reportElement.setAttribute(new Attribute("y", String.valueOf(t2_y)));

       //set t3

       int t3_y = t2_y + t2_h;

       t3_reportElement.setAttribute(new Attribute("x",String.valueOf(t1_x)));

       t3_reportElement.setAttribute(new Attribute("y",String.valueOf(t3_y)));

       //set t4

       int t4_x = t1_x + t3_w;

       String date_str = new SimpleDateFormat("dd-MM-yyyy").format(new Date());

       t4_reportElement.setAttribute(new Attribute("x",String.valueOf(t4_x)));

       t4_reportElement.setAttribute(new Attribute("y",String.valueOf(t3_y)));

       t4_text.addContent(new CDATA("Schaal  "+scale+"\r\nDatum   "+date_str));

       //set north_img

       int north_img_x = t1_x + t2_w;

       north_img_reportElement.setAttribute(new Attribute("x",String.valueOf(north_img_x)));

       north_img_reportElement.setAttribute(new Attribute("y",String.valueOf(t2_y)));

       File imgFile = new File(realPath+"\\upload\\"+dataSet+"\\mapSym\\"+imgname);

       if(imgFile.exists()){

           north_img_imageExpression.setContent(new CDATA("\""+cpath+"/upload/"+dataSet+"/mapSym/"+imgname+"\""));

       }

       //set logo_img  imgname

       int logo_img_y = t3_y + t3_h;

       logo_img_reportElement.setAttribute(new Attribute("x",String.valueOf(t1_x)));

       logo_img_reportElement.setAttribute(new Attribute("y",String.valueOf(logo_img_y)));

       logo_img_imageExpression.setContent(new CDATA("\""+cpath+"/images/logo2.gif"+"\""));

    }

 

6printPreview.jsp代码

 

<body>

<%

        Document doc = (Document)request.getAttribute("document");

        String dataSet = (String)request.getAttribute("dataSet");

       FirstReportCompile frc = new FirstReportCompile();

       byte[] bt = frc.generatePDF(dataSet,doc);

       response.setContentType("application/pdf");

       response.setContentLength(bt.length);

       ServletOutputStream ouputStream = response.getOutputStream();

       ouputStream.write(bt, 0, bt.length);

       ouputStream.close();

       out.clear();

       out = pageContext.pushBody();

%>

</body>

 

写的有点乱,主要就贴了些代码,方便我以后回头看吧.....

分享到:
评论

相关推荐

    云端Web GIS

    #### 四、Web地图打印出图 Web地图的打印出图功能也是非常重要的一环,特别是对于需要在离线状态下查看地图数据的场景。ArcGIS Online提供了多种打印选项: 1. **使用ArcMap操作**:这是一种较为传统的打印方式,...

    ArcGISServer ADF web打印程序源码 CSharp

    此资源中的"Web打印程序源码"提供了在Web应用程序中实现地图打印功能的方法。CSharp是一种面向对象的编程语言,广泛应用于Windows平台的开发,包括GIS应用。源码注释使用英文,这表明它是面向国际开发者社区的,英文...

    基于Arcengine的地图打印小程序

    【ArcEngine地图打印小程序】是一款基于C#编程语言开发的GIS应用,专为ArcEngine初学者设计。ArcEngine是Esri公司提供的一个强大的GIS开发组件,允许开发者创建各种地理信息系统应用,包括桌面、Web和移动平台。这个...

    SuperMap GIS应用与开发

    5. **地图制作与发布**:SuperMap GIS提供了丰富的符号库和地图样式,你可以学习如何创建美观且信息丰富的地图,并通过打印或Web服务进行发布。 6. **SuperMap iServer与Web GIS**:SuperMap iServer是SuperMap GIS...

    SuperMap Objects .NET 打印地图

    3. 设置打印参数:在创建的打印任务中,可以设置地图范围、输出分辨率、页面设置等,确保地图能正确地适应纸张格式。 4. 获取打印预览:在打印之前,通常会先生成打印预览,以检查地图的显示效果。这可以通过调用...

    Gis实现的地图浏览

    7. **地图服务**:GIS应用可能需要连接到Web地图服务(如WMS、WFS),获取远程地图数据。MapX支持与这些服务的集成,开发者需要理解服务的协议和调用方式。 8. **自定义样式和符号**:为了更好地展示地理信息,...

    frmPageLayout.rar_arcengine _arcengine 比例尺_地图打印_打印地图_整饰

    3. **地图打印**:地图打印是GIS应用中的常见需求,通过ArcEngine,开发者可以控制打印的布局、比例、方向等参数,实现高质量的地图输出。本项目中,可能使用了ArcEngine的PrintTask类来实现地图的打印功能。 4. **...

    Silverlight For GIs 多例子

    这个主题涵盖了一系列的功能实现,包括图层管理、动态图层控制、地图打印预览与打印功能、地图的拖拽缩放以及定位查询等核心GIS交互操作。 首先,Silverlight是微软推出的一种富互联网应用程序(RIA)框架,它允许...

    arcgis api 3.x for js 入门开发系列十二地图打印GP服务源码

    本篇将详细介绍如何利用ArcGIS API 3.x版本进行地图打印功能的开发,以及如何通过源码来实现这一功能。 首先,ArcGIS API 3.x for JS 提供了地图打印服务,它基于GP(Geoprocessing Service),这是一个能够执行...

    三个有关gis的中文文档

    这三份文档为GIS初学者提供了全面的学习资源,不仅讲解了基础的GIS地图绘制技巧,还深入到高级的Web地图服务发布。通过学习这些内容,读者可以掌握使用ArcGIS进行地理数据分析和地图制作的核心技能。

    c++用于GIS二次开发

    5. **地图渲染**:地图的显示和打印是GIS应用的重要部分。开发者需要学习如何使用C++来渲染地图,包括符号化规则、颜色映射、比例尺控制等。 6. **性能优化**:由于GIS数据通常较大,性能优化是必不可少的。这可能...

    arcgis api 3.x for js 入门开发系列十二地图打印GP服务.zip

    在ArcGIS API 3.x for JavaScript中,地图打印GP服务是开发者实现地图输出功能的关键工具。这个入门开发系列旨在引导初学者理解并掌握如何利用API进行地图打印的流程和技术要点。下面将详细介绍ArcGIS API 3.x中的...

    arcgis for js加载百度地图高德地图天地图

    在GIS领域,ArcGIS for JavaScript(arcgis for js)是一个强大的Web地图开发库,它允许开发者将地理信息系统功能集成到Web应用中。本教程将详细阐述如何利用ArcGIS for JavaScript API来加载百度地图、高德地图和天...

    开源GIS视频课程.rar

    5. **地图制图与可视化**:介绍如何使用GIS软件创建专业地图,包括符号化、标签设置、图层组织等,以及利用QGIS的布局和打印模块制作地图报告。 6. **WebGIS开发**:探讨如何构建基于OpenLayers、Leaflet等...

    大连矢量地图

    因此,矢量地图在缩放时不会出现像素化的模糊现象,非常适合用于高精度的地理分析和地图打印。而大连矢量地图作为城市级别的数据,包含了该市的行政区域、道路网络、建筑物、公共设施等各种地理要素。 在描述中提到...

    基于WEB-GIS的大同市矿山地质环境动态遥感监测系统.pdf

    快速出图模块方便用户打印地图,便于日常工作。 矿山地质环境系统则包含时间轴、遥感解译、地质灾害和二三维一体化模块。时间轴功能能够直观展示不同年份的地质环境变化,用户可以对比不同时间点的地块变化;遥感...

    arc gis开发

    ArcGIS是Esri公司开发的一套强大的GIS软件系统,它不仅包括桌面GIS应用,如ArcMap、ArcCatalog等,还涵盖了服务器端组件、Web应用以及移动设备上的应用。ArcGIS被广泛应用于资源管理、城市规划、环境保护、灾害管理...

    C#开发GIS应用简明教程

    8. **地图渲染**:学习如何利用C#生成高质地图输出,包括打印、导出、动态图层、图例和标签的创建。 9. **GIS应用实例**:通过实际项目,如人口密度分析、交通网络规划等,深入理解C#在GIS开发中的应用。 10. **...

    基于ArcObjects与C#.NET的GIS应用开发

    6. 服务发布:借助ArcGIS Server,可以将开发的应用程序作为GIS服务发布,实现Web GIS的应用。 在实际项目中,开发者还需要关注性能优化、错误处理、多线程编程等方面的问题。同时,理解GIS的基本概念和原理,如...

    gis png 一套图标

    这些GIS图标在GIS软件开发、Web GIS应用、移动GIS应用等方面都有广泛的应用。 在压缩包“gis_png24”中,很可能包含了上述各类GIS功能的PNG图标,每一种图标都可能有不同的样式和颜色主题,以适应不同的设计需求。...

Global site tag (gtag.js) - Google Analytics