复制 Word 段落时,用户可以选择仅复制文本或复制段落的所有元素,例如格式、图像、超链接等。本指南中的解决方案介绍了如何在 C# 中将 Word 段落(文本和格式)从一个文档复制到另一个文档和VB.NET 通过 Spire.Doc for .NET。
Spire.Doc for.NET 最新下载https://www.evget.com/product/3368/download
Spire.Doc for .NET是一个独立的 .NET Word 组件,它提供了一个方法Paragraph.Clone()来允许用户复制段落。以下屏幕截图显示了复制后的结果。
下载并安装 Spire.Doc for .NET并按照步骤复制 Word 段落。首先,从指定的文档初始化一个文档实例 doc1 和一个新的文档实例 doc2。其次,初始化两个Paragraph实例p1和p2,它们是doc1的标题和第一段。第三,实例化一个新的 Section 实例和两个 Paragraph 实例。将调用 Paragraph.Clone() 后的结果分配为这两个实例的值。然后,使用参数paragraph 调用Section.Paragraph.Add 方法将复制的段落添加到新文档中。代码如下:
[C#]
using Spire.Doc; using Spire.Doc.Documents; using System.Drawing; namespace CopyParagraph { class Program { static void Main(string[] args) { //Load doc1 Document doc1 = new Document(); doc1.LoadFromFile(@"E:\Work\Document\A GOOD MAN IS HARD TO FIND.docx"); //Create New doc2 Document doc2 = new Document(); //Get Paragraph 1(the Title) and Paragraph 2(body) in Doc1 Section s = doc1.Sections[0]; Paragraph p1 = s.Paragraphs[0]; Paragraph p2 = s.Paragraphs[1]; //Copy p1 and p2 to doc2 Section s2 = doc2.AddSection(); Paragraph NewPara1 = (Paragraph)p1.Clone(); s2.Paragraphs.Add(NewPara1); Paragraph NewPara2 = (Paragraph)p2.Clone(); s2.Paragraphs.Add(NewPara2); //Add Watermark PictureWatermark WM = new PictureWatermark(); WM.Picture = Image.FromFile(@"E:\Work\Document\Rose.jpg"); doc2.Watermark = WM; //Save and Launch doc2.SaveToFile("copy.docx", FileFormat.Docx2010); System.Diagnostics.Process.Start("copy.docx"); } } }
[VB.NET]
Imports Spire.Doc Imports Spire.Doc.Documents Imports System.Drawing Namespace CopyParagraph Friend Class Program Shared Sub Main(ByVal args() As String) 'Load doc1 Dim doc1 As New Document() doc1.LoadFromFile("E:\Work\Document\A GOOD MAN IS HARD TO FIND.docx") 'Create New doc2 Dim doc2 As New Document() 'Get Paragraph 1(the Title) and Paragraph 2(body) in Doc1 Dim s As Section = doc1.Sections(0) Dim p1 As Paragraph = s.Paragraphs(0) Dim p2 As Paragraph = s.Paragraphs(1) 'Copy p1 and p2 to doc2 Dim s2 As Section = doc2.AddSection() Dim NewPara1 As Paragraph = CType(p1.Clone(), Paragraph) s2.Paragraphs.Add(NewPara1) Dim NewPara2 As Paragraph = CType(p2.Clone(), Paragraph) s2.Paragraphs.Add(NewPara2) 'Add Watermark Dim WM As New PictureWatermark() WM.Picture = Image.FromFile("E:\Work\Document\Rose.jpg") doc2.Watermark = WM 'Save and Launch doc2.SaveToFile("copy.docx", FileFormat.Docx2010) System.Diagnostics.Process.Start("copy.docx") End Sub End Class End Namespace
注意:因为paragraph.Clone() 的类型是DocumentObject,所以在新建Word 文档doc2 中初始化段落实例时将其类型转换为Paragraph。
Spire.Doc 作为专业的 Word 组件,在无需 Word 自动化和任何第三方工具的情况下,在 .NET、WPF、Silverlight 中快速生成、加载、编写、修改和保存 Word 文档非常强大。