使用Aspose.words 把一个文档中的Section完整拷贝到另一个文档,包括页眉和页脚

williamxia8 2017-01-12 02:26:13
使用Aspose.words 把一个文档中的Section完整拷贝到另一个文档,包括页眉和页脚?

string strFile = @"C:\Xp\aaaaaa.doc";
Document originalDoc = new Document(strFile);

string strCurrentPath = System.IO.Directory.GetCurrentDirectory() + "\\";
//
int sectCount = originalDoc.Sections.Count;

for (int sectIndex = 0; sectIndex < sectCount; sectIndex++)
{
Document mainDoc = new Document();
mainDoc.FirstSection.Body.RemoveAllChildren();
//NodeImporter importer = new NodeImporter(originalDoc, mainDoc, ImportFormatMode.KeepSourceFormatting);

Aspose.Words.Section srcSection = originalDoc.Sections[sectIndex];
//Node dstSection = originalDoc.ImportNode(srcSection, true, ImportFormatMode.KeepSourceFormatting);
//mainDoc.AppendChild(dstSection);
int nodeCount = srcSection.Body.ChildNodes.Count;
NodeImporter importer = new NodeImporter(originalDoc, mainDoc, ImportFormatMode.KeepSourceFormatting);
for (int nodeIndex = 0; nodeIndex < nodeCount; nodeIndex++)
{
Node srcNode = srcSection.Body.ChildNodes[nodeIndex];
Node newNode = importer.ImportNode(srcNode, true);
mainDoc.FirstSection.Body.AppendChild(newNode);
}
mainDoc.Save(strCurrentPath + (sectIndex + 1).ToString() + ".doc", Aspose.Words.SaveFormat.Doc);
}
MessageBox.Show("处理完成");


上面的代码现在内容可以复制过去了,但是页面和页脚都没有复制过去,请问有没有什么办法可以处理。
...全文
1336 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
白洞里的黑鱼 2020-09-09
  • 打赏
  • 举报
回复
你还要问吗。。。
白洞里的黑鱼 2020-09-09
  • 打赏
  • 举报
回复
你是要完整的转移section,为什么要写那么多代码,我自己用java写很快啊;目前我找不到为什么样式改变的原因而已,但是内容都是拿得到的
kunda 2018-08-29
  • 打赏
  • 举报
回复
我用了你的方法,是连带页眉页脚都可以import过来的哦
kunda 2018-08-29
  • 打赏
  • 举报
回复
页眉页脚在section中,而不是在Body中,与Body并列的。你的代码是复制Body中的node,当然复制不了HeaderFooter了,因为HeaderFooter不在Body中
williamxia8 2017-01-12
  • 打赏
  • 举报
回复
怎么也没人过来啊。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧