如何在Aspose.Words文档的每个页面上插入浮动形状?

时间:2012-09-24 15:02:08

标签: java aspose

我有一个Aspose.Words文档。 我想在我的文档的每个页面上插入一个TextBox Shape。

这是我的文件:

 // Aspose.Words document
 Document document = new Document();

 // The DocumentBuilder
 DocumentBuilder builder = new DocumentBuilder(document);

 builder.insertHtml("Here, there is a big String with a lot of HTML.");

这是我第一页的方式:

 Shape textBox = new Shape(document, ShapeType.TEXT_BOX);
 textBox.setWrapType(WrapType.SQUARE);
 // Shape position
 textBox.setDistanceTop(0);
 textBox.setDistanceLeft(42);
 // Shape dimensions
 textBox.setWidth(200);
 textBox.setHeight(20);

 // ... other options useless here.

 // Paragraph, content of the Shape
 Paragraph paragraph = new Paragraph(document);
 Run run = new Run(document);
 run.setText("Here some text.");
 paragraph.appendChild(run);

 textBox.appendChild(paragraph);

 // Now I insert my Shape on the first page.
 builder.moveToDocumentStart();
 builder.insertNode(textBox);

这对第一页非常有用。

我也知道我可以获得正在进行的页数:

 document.getPageCount();

但是我不知道如何浏览所有页面。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我的名字是Nayyer,我是Aspose的支持开发人员/技术推广人员。

如果您需要在所有页面上显示某些内容,则必须在“页眉/页脚”区域中移动该内容。请尝试遵循与How to add Watermark to document类似的方法。请注意,内容/对象可以放在页面上任何地方,但为了在所有页面上显示内容,内容应该只是固定在页眉/页脚内。

现在关于指定形状的位置,请注意形状具有RelativeHorizo​​ntalPosition属性,如果将其设置为RelativeHorizo​​ntalPosition.Page然后设置Left和Top位置,则可以将其浮动到中心位置甚至底部页面(即使它锚定在标题内)。

PS,Word只会在运行时重复每个页面的页眉/页脚内容,但当然只有一个内容副本。