We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Aspose.words.java插入页眉页脚

怎样在同一页面中插入两个页脚,以及如何在页眉页脚上面插入一条横线。如附件所示,DemoPage.java是我的演示代码,footer.png是我想要的效果,test_template.doc是我自己生成的演示word文档,评估报告模板.doc是标准的模板文档。

@liyong199466,

我担心,我们在这个帖子中看不到任何附件。 如果您的文件大小很大,那么您可以将ZIP文件上传到Dropbox或任何其他文件托管服务,并在此处共享下载链接以进行测试。

另外,请提供您的预期文档,显示此处的测试行为。 您可以使用MS Word创建预期文档。

不好意思,忘记上传附件了,附件已上传needHelp.zip (118.1 KB)

@liyong199466,

我认为。 您可以使用以下代码示例在页脚的左右角插入水平线和文本:

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();这个方法,有另外的方法插入水平线吗

@liyong199466,

这种方法可在Aspose.Words的最新版本中获得,即18.11。 请从以下链接升级到最新版本。

https://downloads.aspose.com/words/java

@awais.hafeez
我目前的版本里面也没有builder.insertHorizontalRule()这个方法 请问有没变通的方法? 谢谢!

@hzjianglf,

此方法是在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;
}

@awais.hafeez 非常感谢你热心的帮助!! 谢谢!