今天给大家介绍下,Aspose.word 对word进行创建一行文字(段落)的时候注意事项
string tempFile = Application.StartupPath + "\\resource\\templete\\项目建议书模板.doc"; //这里模板路径 比如:D:\\
Document doc = new Document(tempFile);
Paragraph p = new Paragraph(doc);
p.AppendChild(new Run(doc,"这里是创建的文字"));
p.ParagraphFormat.Style.Font.Size = 8;
p.ParagraphFormat.Style.Font.Name = "宋体";
上面代码,在创建段落时,一点也没有问题,但是如果你word中模板比较多,也就是word中的table比较多的时候,别用这种方法去改字体大小,或者样式,因为,这种方法会导致其他模板字体大小或者样式受影响!!!
如下代码:
Paragraph p = new Paragraph(doc);
Run r = new Run(doc, "生产技术改造项目主要拟拆除设备评估鉴定表");
r.Font.Name = "等线";
r.Font.Size = 11;
r.Font.Bold = true; //加粗
p.ParagraphFormat.Alignment = ParagraphAlignment.Center; //水平居中
p.AppendChild(r);
这个代码虽然和上面都是设置字体大小和样式,但是第二种不会影响其他模板数据!!!
二、介绍下如何复制Word中的模板table,并粘贴到下一页(分页)
如图:这是一个模板
本来我的想法就是复制指定的table,然后插入一页,再将这一页粘贴这个table,但是很遗憾的是aspos.word没有提供获取指定页的方法。然后我就换了方法如下:
string tempFile = Application.StartupPath + "\\resource\\templete\\项目建议书模板.doc"; //你们可以在D:\\
Document doc = new Document(tempFile);
DocumentBuilder builder = new DocumentBuilder(doc);
NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true); //获取所有表格table
Aspose.Words.Tables.Table table4 = allTables[0] as Aspose.Words.Tables.Table;//拿到第1个表格 这里你模板在第几页就是第几个表格
builder.MoveToDocumentEnd();
builder.InsertBreak(BreakType.PageBreak);
Paragraph p = new Paragraph(doc);
Run r = new Run(doc, "生产技术改造项目主要拟拆除设备评估鉴定表");
r.Font.Name = "等线";
r.Font.Size = 11;
r.Font.Bold = true;
p.ParagraphFormat.Alignment = ParagraphAlignment.Center; //水平居中
p.AppendChild(r);
table4.ParentNode.AppendChild(p); //追加新的一行
table4.ParentNode.AppendChild(new Paragraph(doc)); //追加新的空白行
table4.ParentNode.AppendChild(tableClone); //追加复制的表格
//追加一个空行
table4.ParentNode.AppendChild(new Paragraph(doc));
table4.ParentNode.AppendChild(new Paragraph(doc));
table4.ParentNode.AppendChild(new Paragraph(doc));
table4.ParentNode.AppendChild(new Paragraph(doc));
table4.ParentNode.AppendChild(new Paragraph(doc));
table4.ParentNode.AppendChild(new Paragraph(doc));
table4.ParentNode.AppendChild(new Paragraph(doc));
table4.ParentNode.AppendChild(new Paragraph(doc));
table4.ParentNode.AppendChild(new Paragraph(doc));
table4.ParentNode.AppendChild(new Paragraph(doc));
table4.ParentNode.AppendChild(new Paragraph(doc));
doc.Save(docPath); //docPath 保存路径,随便你写