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

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

    步骤一:dll文件获取及导入。通过官网本地下载SDK文件包。(须在e-iceblue中国官网在线编辑板块中注册账号并登录)

    下载后,解压文件,将Spire.Cloud.Word.Sdk.dll文件及其他三个dll添加引用至VS程序;或者在程序中通过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
        {
            static string appId = "App ID";
            static string appKey = "App Key";
            static void Main(string[] args)
            {
                //配置AppID和AppKey
                Configuration wordConfiguration = new Configuration(appId, appKey);
    
                //实例化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 shapeProperties = 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, shapeProperties, folder, storage, indexInParagraph, password, destFilePath);
            }
        }
    }

    形状添加效果:

    2. 删除Word中的形状

    using System;
    using Spire.Cloud.Word.Sdk.Api;
    using Spire.Cloud.Word.Sdk.Client;
    
    namespace DeleteShape
    {
        class Program
        {
            static string appId = "App ID";
            static string appKey = "App Key";
            static void Main(string[] args)
            {
                //配置AppID和AppKey
                Configuration wordConfiguration = new Configuration(appId, appKey);
    
                //实例化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, folder, storage, password, destFilePath);
            }
        }
    }

    形状删除效果:

    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 void Main(string[] args)
            {
                //配置AppID和AppKey
                Configuration wordConfiguration = new Configuration(appId, appKey);
    
                //实例化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;//源文档密码
    
                //读取属性
                System.Console.WriteLine(shapesApi.GetShapeProperties(name, paragraphPath, index, folder, storage, password));
                System.Console.ReadLine();
    
            }
        }
    }

    属性读取结果:

    (本文完)

  • 相关阅读:
    前端面试:Vue.js常见的问题
    Web前端攻击方式及防御措施
    JavaScript代码规范
    bind、apply、call的理解
    Markdown标记语言简介及使用方法
    github个人主页的建立
    深度理解“高内聚低耦合”
    私有云与公有云的区别
    响应式网页设计
    redis和mongodb比较
  • 原文地址:https://www.cnblogs.com/dongshenjun/p/12742136.html
Copyright © 2011-2022 走看看