用OpenXml在文档的尾部添加一个Rich Text Content Control/Plain Text Content Control

2024-04-30 07:48

本文主要是介绍用OpenXml在文档的尾部添加一个Rich Text Content Control/Plain Text Content Control,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实现环境:Visual Studio 2010, OpenXml SDK 2.0

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;namespace OpenXmlWordSdtBlock
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){OpenFileDialog objOpenFileDialog = new OpenFileDialog();objOpenFileDialog.Filter = "Word Document (*.docx)|*.docx";objOpenFileDialog.ShowDialog();string strPath = objOpenFileDialog.FileName;Form2 objForm2 = new Form2();objForm2.ShowDialog();string strInsertText = objForm2.Msg;if (strPath.Length > 0){try{using (WordprocessingDocument objWordprocessingDocument =WordprocessingDocument.Open(strPath, true)){/** 接下来的代码将获取MainDocumentPart、Document和Body。* 这些是Word文档中已经存在的结构,所以不用New。*/MainDocumentPart objMainDocumentPart = objWordprocessingDocument.MainDocumentPart;Document objDocument = objMainDocumentPart.Document;Body objBody = objDocument.Descendants<Body>().FirstOrDefault();/** 接下来的代码将创建一个新的段落来放Rich Text Content* Control。事实下所有的Content Control在OpenXml 格式中* 都以SdtBlock表示。所以说这是插入一个Plain Text * Content Control也是没错的。*/Paragraph objParagraph_1 = new Paragraph();SdtBlock objSdtBlock = new SdtBlock();SdtContentBlock objSdtContentBlock = new SdtContentBlock();Paragraph objParagraph_2 = new Paragraph();Run objRun = new Run();Text objText = new Text();if (strInsertText.Length > 0)objText.Text = strInsertText;elseobjText.Text = "<Null>";objRun.Append(objText);objParagraph_2.Append(objRun);objSdtContentBlock.Append(objParagraph_2);objSdtBlock.Append(objSdtContentBlock);objParagraph_1.Append(objSdtBlock);objBody.Append(objParagraph_1);objDocument.Save();}}catch (Exception ex){MessageBox.Show(string.Format("Stack:\n{0}\nException:\n{1}", ex.StackTrace, ex.Message), "OpenxXmlWordSdtBlock Exception");}}}}
}


这篇关于用OpenXml在文档的尾部添加一个Rich Text Content Control/Plain Text Content Control的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/948287

相关文章

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来