0

我有一个 Aspose.Words 文档。我想在文档的每一页上插入一个文本框形状。

这是我的文件:

 // 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();

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

有什么建议么?

4

1 回答 1

0

我的名字是 Nayyer,我是 Aspose 的支持开发人员/技术布道者。

如果您需要在所有页面上显示某些内容,则必须将该内容移动到页眉/页脚区域。请尝试按照类似于How to add Watermark to document的方法进行操作。请注意,内容/对象可以放置在页面上的任何位置,但为了在所有页面上显示某些内容,内容应该只锚定在页眉/页脚内。

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

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

于 2012-10-10T09:57:09.170 回答