批量出图工具,如何使用C#实现动态文本

批量出图工具,如何使用C#实现动态文本,也就是布局页面中的文本,根据当前地块,实时显示当前地块的属性信息。

本文仅做一个简单的记录,提供实现的思路。

首先批量出图,就是选中一个图层,给图层中每个地块都出一个图,实际上就是把布局页面导出成图片或者PDF。

在这个基础上进行扩展,比如在布局页面中加入动态文本,动态的图片,以及动态的表格。

获取图层,遍历每一个地块。

cs 复制代码
           IFeatureCursor featureCursor = ZD_Layer.Search(null ,false);
           IFeature feature = null;
           while ((feature = featureCursor.NextFeature()) != null)
           {
                //出图操作 
           }

同时遍历布局页面中每一个文本,如果文本的元素名称和字段名称一致,就读取这个字段的值,取替换该文本的内容。

cs 复制代码
            IGraphicsContainer pGraphicsContainer = ArcMap.Document.PageLayout as IGraphicsContainer;
            pGraphicsContainer.Reset();
            IElement element = null;// pGraphicsContainer.Next();
            while ((element = pGraphicsContainer.Next()) != null)
            {
                if (element is ITextElement)
                {
                   if (feature.Fields.FindField(eleP.Name)>-1)
                            {
                                string fieldValue  = feature.get_Value(feature.Fields.FindField(eleP.Name)).ToString(); //读取字段内容                                 
                                ITextElement textElement = (element as ITextElement);  
                                textElement.Text = fieldValue;//替换文本
                                pGraphicsContainer.UpdateElement(textElement as IElement);
                            }
                }

            }

根据以上方法,就能实现批量出图,同时批量替换文本内容。

相关推荐
_冷眸_1 小时前
Python 调用大模型 API:最小请求、Base URL 和 401/404 排查
开发语言·人工智能·python
niucloud-admin1 小时前
NIUCLOUD PHP SAAS上门家政使用文档:服务保障
java·开发语言·php
熊猫钓鱼>_>1 小时前
鸿蒙 PC 三方库适配复盘:libfvad 1.0 —— 把 WebRTC VAD 做成能装进采集链路的静态库
服务器·开发语言·华为·harmonyos·openharmony·适配·鸿蒙pc
Ai-_Man2 小时前
Coze扣子还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·1024程序员节
raindayinrain2 小时前
c++设计模式
开发语言·c++·设计模式
hiahiahia1232 小时前
Streaming Model Output
开发语言·前端
熊猫钓鱼>_>2 小时前
鸿蒙PC高分屏与键鼠交互适配:DPI缩放、右键菜单一次讲清
开发语言·笔记·华为·ai编程·harmonyos·鸿蒙·鸿蒙心迹
octopus_c3 小时前
C++ 运算符重载详解 && 日期类的实现
开发语言·c++
Eiceblue3 小时前
用 Python 给 Word 文档加水印:文字、图片与批量处理
开发语言·vscode·python·word
j7~3 小时前
【C++ 面试笔记】(篇二):类与数据抽象 & STL 容器与算法
开发语言·c++·面试·stl容器和算法·类和数据抽象