怎样在同一页面中插入两个页脚,以及如何在页眉页脚上面插入一条横线。如附件所示,DemoPage.java是我的演示代码,footer.png是我想要的效果,test_template.doc是我自己生成的演示word文档,评估报告模板.doc是标准的模板文档。
我担心,我们在这个帖子中看不到任何附件。 如果您的文件大小很大,那么您可以将ZIP文件上传到Dropbox或任何其他文件托管服务,并在此处共享下载链接以进行测试。
另外,请提供您的预期文档,显示此处的测试行为。 您可以使用MS Word创建预期文档。
我认为。 您可以使用以下代码示例在页脚的左右角插入水平线和文本:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);
builder.insertHorizontalRule();
builder.getParagraphFormat().getTabStops().add(474.9, TabAlignment.RIGHT, TabLeader.NONE);
builder.write("Text on Footer Left " + ControlChar.TAB);
builder.write("Page ");
builder.insertField(FieldType.FIELD_PAGE, false);
builder.write(" of ");
builder.insertField(FieldType.FIELD_NUM_PAGES, false);
doc.updateFields();
doc.save("D:\\temp\\awjava-18.11.docx");
附件:footer-content.zip (5.5 KB)
你好,我目前的版本里面没有builder.insertHorizontalRule();这个方法,有另外的方法插入水平线吗
这种方法可在Aspose.Words的最新版本中获得,即18.11。 请从以下链接升级到最新版本。
此方法是在Aspose.Words for Java版本18.10中引入的。 我们建议您升级到至少该版本。
Aspose.Words for Java 18.10发行说明
以下代码可用作变通方法
Document doc = new Document();
Shape s = AddShape(doc, doc.FirstSection.Body.FirstParagraph, ShapeType.Line, new RectangleF(144, 144, 72, 0), "");
doc.Save("E:\\Temp\\19.5.docx");
public static Shape AddShape(Document doc, Paragraph anchorPara, ShapeType shapeType, RectangleF rectangleF, string text)
{
Shape shape = new Shape(doc, shapeType);
shape.Left = rectangleF.Left;
shape.Top = rectangleF.Top;
shape.Width = rectangleF.Width;
shape.Height = rectangleF.Height;
shape.RelativeHorizontalPosition = RelativeHorizontalPosition.Page;
shape.RelativeVerticalPosition = RelativeVerticalPosition.Page;
shape.WrapType = WrapType.None;
if (!string.IsNullOrEmpty(text))
{
Paragraph para = new Paragraph(doc);
Run run = new Run(doc, text);
para.AppendChild(run);
shape.AppendChild(para);
}
anchorPara.AppendChild(shape);
return shape;
}