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();
            }
        }
    }

    属性读取结果:

    (完)

  • 相关阅读:
    SVN服务器搭建(一)
    排序算法二:冒泡排序
    【LeetCode】136. Single Number
    【LeetCode】217. Contains Duplicate
    【LeetCode】189. Rotate Array
    【LeetCode】122. Best Time to Buy and Sell Stock II
    【LeetCode】26. Remove Duplicates from Sorted Array
    【LeetCode】20. Valid Parentheses
    【LeetCode】680. Valid Palindrome II
    【LeetCode】345. Reverse Vowels of a String
  • 原文地址:https://www.cnblogs.com/Yesi/p/12222219.html
Copyright © 2011-2022 走看看