Aspose.Words 将word2中的内容插入到word1中的指…
2018-11-20 03:21:49来源:博客园 阅读 ()
将word2中的内容插入到word1中的指定位置(经测试可用)
在官网找到的例子,记录一下:
public static void InsertDocumentAtBookmark(string dataDir) { Document mainDoc = new Document(dataDir + "InsertDocument1.doc"); Document subDoc = new Document(dataDir + "InsertDocument2.doc"); //定位到书签:insertionPlace Bookmark bookmark = mainDoc.Range.Bookmarks["insertionPlace"]; //将subDoc中的内容插入到mainDoc中的书签“insertionPlace”位置 InsertDocument(bookmark.BookmarkStart.ParentNode, subDoc); dataDir = dataDir + "InsertDocumentAtBookmark_out.doc"; mainDoc.Save(dataDir); } /// <summary> /// 在指定节点之后插入外部文档的内容。 /// 插入文档的分节符和节格式将被忽略。 /// </summary> /// <param name="insertAfterNode">Node in the destination document after which the content /// Should be inserted. This node should be a block level node (paragraph or table).</param> /// <param name="srcDoc">The document to insert.</param> static void InsertDocument(Node insertAfterNode, Document srcDoc) { // Make sure that the node is either a paragraph or table. if ((!insertAfterNode.NodeType.Equals(NodeType.Paragraph)) & (!insertAfterNode.NodeType.Equals(NodeType.Table))) throw new ArgumentException("The destination node should be either a paragraph or table."); // We will be inserting into the parent of the destination paragraph. CompositeNode dstStory = insertAfterNode.ParentNode; // This object will be translating styles and lists during the import. NodeImporter importer = new NodeImporter(srcDoc, insertAfterNode.Document, ImportFormatMode.KeepSourceFormatting); // Loop through all sections in the source document. foreach (Section srcSection in srcDoc.Sections) { // Loop through all block level nodes (paragraphs and tables) in the body of the section. foreach (Node srcNode in srcSection.Body) { // Let's skip the node if it is a last empty paragraph in a section. if (srcNode.NodeType.Equals(NodeType.Paragraph)) { Paragraph para = (Paragraph)srcNode; if (para.IsEndOfSection && !para.HasChildNodes) continue; } // This creates a clone of the node, suitable for insertion into the destination document. Node newNode = importer.ImportNode(srcNode, true); // Insert new node after the reference node. dstStory.InsertAfter(newNode, insertAfterNode); insertAfterNode = newNode; } } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:回车登陆
- 详解ABP框架中的数据过滤器与数据传输对象的使用 2020-01-18
- C#中的switch case使用介绍 2019-12-13
- 解析ABP框架中的日志功能 2019-11-27
- ASP.NET MVC 4 中的JSON数据交互的方法 2019-10-29
- sealed在C#中的作用说明 2019-09-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash