zoukankan      html  css  js  c++  java
  • C# 添加、删除、读取Word形状(基于Spire.Cloud.Word.SDK)

    本文介绍调用Spire.Cloud.SDK for .NET 提供的接口shapesApi来操作Word形状,包括添加形状AddShape(),添加形状时,可设置形状类型、颜色、大小、位置、倾斜、轮廓、文本环绕方式、顺序);删除形状DeleteShape()和读取形状属性GetShapeProperties()等。调用接口方法及步骤参考以下步骤:

    步骤一:dll文件获取及导入。在程序中通过Nuget搜索下载,直接导入所有dll。dll引用结果如下图所示:

    步骤二:App ID及Key获取。在“我的应用”板块中创建应用以获得App ID及App Key。

    步骤三:源文档上传。在“文档管理”板块,上传源文档。这里可以建文件夹,将文档存放在文件夹下。不建文件夹时,源文档及结果文档直接保存在根目录。本文示例中,建了两个文件夹,分别用于存放源文档及结果文档。(云平台提供免费1 万次调用次数和 2G 文档内存)

    C# 示例代码

    1. 添加形状到Word

    using System;
    using Spire.Cloud.Word.Sdk.Client;
    using Spire.Cloud.Word.Sdk.Api;
    using Spire.Cloud.Word.Sdk.Model;
    
    namespace AddShape
    {
        class Program
        {
            //配置AppID和AppKey
            static string appId = "App ID";
            static string appKey = "App Key";
            static string basePath = "https://api.e-iceblue.cn";
            static Configuration wordConfiguration = new Configuration(appId, appKey, basePath);
            static ShapesApi shapesApi = new ShapesApi(wordConfiguration);
            static void Main(string[] args)
            {           
                //实例化ShapesApi类
                ShapesApi shapesApi = new ShapesApi(wordConfiguration);
    
                string name = "test.docx";//源文档
                string paragraphPath = "sections/0/paragraphs/0";//段落路径
                int indexInParagraph = 1;//添加形状的段落
                string folder = "input";//源文档所在文件夹
                string storage = null;//使用冰蓝云配置的2G空间存贮文档,可设置为null
                string password = null;//源文档密码
    
                //设置形状属性(包括形状类型、位置、填充颜色、旋转方向、边框宽度/颜色、文本环绕类型/方式
                ShapeFormat shapeformat = new ShapeFormat(50, 50, ShapeFormat.ShapeTypeEnum.Star)
                {
                    HorizontalOrigin = ShapeFormat.HorizontalOriginEnum.Page,
                    VerticalOrigin = ShapeFormat.VerticalOriginEnum.Page,
                    VerticalPosition = 40,
                    HorizontalPosition = 230,
                    FillColor = new Color(255, 69, 0),
                    Rotation = 45,
                    StrokeWeight = 2,
                    StrokeColor = new Color(255, 255, 0),
                    TextWrappingType = ShapeFormat.TextWrappingTypeEnum.Both,
                    TextWrappingStyle = ShapeFormat.TextWrappingStyleEnum.InFrontOfText,
                    ZOrder = 1
                };
                string destFilePath = "output/AddShape.docx";//结果文档路径
    
                //调用方法添加形状
                shapesApi.AddShape(name,paragraphPath,shapeformat,destFilePath,folder,storage,indexInParagraph,password);
            }
        }
    }

    形状添加效果:

    2. 删除Word中的形状

    using System;
    using Spire.Cloud.Word.Sdk.Api;
    using Spire.Cloud.Word.Sdk.Client;
    
    
    namespace DeleteShape
    {
        class Program
        { 
            //配置AppID和AppKey
            static string appId = "App ID";
            static string appKey = "App Key";
            static string basePath = "https://api.e-iceblue.cn";
            static Configuration wordConfiguration = new Configuration(appId, appKey, basePath);
            static ShapesApi shapesApi = new ShapesApi(wordConfiguration);
            static void Main(string[] args)
            {          
                //实例化ShapesApi类
                ShapesApi shapesApi = new ShapesApi(wordConfiguration);
    
                string name = "AddShape.docx";//源文档
                string paragraphPath = "sections/0/paragraphs/0";//段落路径
                int index = 0;//要删除形状的索引
                string folder = "output";//源文档所在文件夹
                string storage = null;//使用冰蓝云配置的2G空间存贮文档,可设置为null
                string password = null;//源文档密码
    
                string destFilePath = "output/DeleteShape.docx";//结果文档路径
    
                //调用方法删除形状
                shapesApi.DeleteShape(name,paragraphPath,index,destFilePath,folder,storage,password);
            }
        }
    }

    形状删除效果:

    3. 读取Word形状属性

    using System;
    using Spire.Cloud.Word.Sdk.Client;
    using Spire.Cloud.Word.Sdk.Api;
    
    
    namespace GetShapeProperties
    {
        class Program
        {
            //配置账号信息
            static string appId = "App ID";
            static string appKey = "App Key";
            static string basePath = "https://api.e-iceblue.cn";
            static Configuration wordConfiguration = new Configuration(appId, appKey, basePath);
            static ShapesApi shapesApi = new ShapesApi(wordConfiguration);
    
            static void Main(string[] args)
            {
                //实例化ShapesApi类
                ShapesApi shapesApi = new ShapesApi(wordConfiguration);
    
                string name = "AddShape.docx";//源文档
                string paragraphPath = "Section/0/Body/0/Paragraph/0";
                int index = 0;//读取的形状索引
                string folder = "output";//源文档所在文件夹
                string storage = null;//使用冰蓝云配置的2G空间存贮文档,可设置为null
                string password = null;//源文档密码
    
    
                //读取属性         
                System.Console.WriteLine(shapesApi.GetShapeFormat(name, paragraphPath, index, folder, storage, password));
                System.Console.ReadLine();
            }
        }
    }

    属性读取结果:

    (完)

  • 相关阅读:
    Postgresql 修改最大连接数到10000(默认2000多)
    Postgresql 当中有四种方式获取当前时间
    postgreSQL数据库limit分页、排序
    mybatis 中标签bool值类型为false判断
    (转)SpringCloud之服务网关Gateway
    Java线程池,isShutDown、isTerminated的作用与区别
    Java线程池的四种用法与使用场景
    (转)Java多线程:彻底搞懂线程池
    算法注意---1、取用数据之前一定要保证数据存在
    算法与数据结构---4.4、最大子段和-分治优化原理
  • 原文地址:https://www.cnblogs.com/Yesi/p/12222219.html
Copyright © 2011-2022 走看看