public class PageSetup
PageSetup object contains all the page setup attributes of a section
(left margin, bottom margin, paper size, and so on) as properties. Example:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Modify the first section in the document
builder.getPageSetup().setOrientation(Orientation.LANDSCAPE);
builder.getPageSetup().setVerticalAlignment(PageVerticalAlignment.CENTER);
builder.writeln("Section 1, landscape oriented and text vertically centered.");
// Start a new section and reset its formatting to defaults
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
builder.getPageSetup().clearFormatting();
builder.writeln("Section 2, back to default Letter paper size, portrait orientation and top alignment.");
doc.save(getArtifactsDir() + "PageSetup.ClearFormatting.docx");
Property Getters/Setters Summary | ||
---|---|---|
boolean | getBidi() | |
void | setBidi(booleanvalue) | |
Specifies that this section contains bidirectional (complex scripts) text. | ||
boolean | getBorderAlwaysInFront() | |
void | setBorderAlwaysInFront(booleanvalue) | |
Specifies where the page border is positioned relative to intersecting texts and objects. | ||
int | getBorderAppliesTo() | |
void | setBorderAppliesTo(intvalue) | |
Specifies which pages the page border is printed on. The value of the property is PageBorderAppliesTo integer constant. | ||
int | getBorderDistanceFrom() | |
void | setBorderDistanceFrom(intvalue) | |
Gets or sets a value that indicates whether the specified page border is measured from the edge of the page or from the text it surrounds. The value of the property is PageBorderDistanceFrom integer constant. | ||
BorderCollection | getBorders() | |
Gets a collection of the page borders.
|
||
boolean | getBorderSurroundsFooter() | |
void | setBorderSurroundsFooter(booleanvalue) | |
Specifies whether the page border includes or excludes the footer. | ||
boolean | getBorderSurroundsHeader() | |
void | setBorderSurroundsHeader(booleanvalue) | |
Specifies whether the page border includes or excludes the header. | ||
double | getBottomMargin() | |
void | setBottomMargin(doublevalue) | |
Returns or sets the distance (in points) between the bottom edge of the page and the bottom boundary of the body text. | ||
int | getCharactersPerLine() | |
void | setCharactersPerLine(intvalue) | |
Gets or sets the number of characters per line in the document grid. | ||
boolean | getDifferentFirstPageHeaderFooter() | |
void | setDifferentFirstPageHeaderFooter(booleanvalue) | |
True if a different header or footer is used on the first page. | ||
EndnoteOptions | getEndnoteOptions() | |
Provides options that control numbering and positioning of endnotes in this section.
|
||
int | getFirstPageTray() | |
void | setFirstPageTray(intvalue) | |
Gets or sets the paper tray (bin) to use for the first page of a section. The value is implementation (printer) specific. | ||
double | getFooterDistance() | |
void | setFooterDistance(doublevalue) | |
Returns or sets the distance (in points) between the footer and the bottom of the page. | ||
FootnoteOptions | getFootnoteOptions() | |
Provides options that control numbering and positioning of footnotes in this section.
|
||
double | getGutter() | |
void | setGutter(doublevalue) | |
Gets or sets the amount of extra space added to the margin for document binding. | ||
double | getHeaderDistance() | |
void | setHeaderDistance(doublevalue) | |
Returns or sets the distance (in points) between the header and the top of the page. | ||
int | getLayoutMode() | |
void | setLayoutMode(intvalue) | |
Gets or sets the layout mode of this section. The value of the property is SectionLayoutMode integer constant. | ||
double | getLeftMargin() | |
void | setLeftMargin(doublevalue) | |
Returns or sets the distance (in points) between the left edge of the page and the left boundary of the body text. | ||
int | getLineNumberCountBy() | |
void | setLineNumberCountBy(intvalue) | |
Returns or sets the numeric increment for line numbers. | ||
double | getLineNumberDistanceFromText() | |
void | setLineNumberDistanceFromText(doublevalue) | |
Gets or sets distance between the right edge of line numbers and the left edge of the document. | ||
int | getLineNumberRestartMode() | |
void | setLineNumberRestartMode(intvalue) | |
Gets or sets the way line numbering runs that is, whether it starts over at the beginning of a new page or section or runs continuously. The value of the property is LineNumberRestartMode integer constant. | ||
int | getLinesPerPage() | |
void | setLinesPerPage(intvalue) | |
Gets or sets the number of lines per page in the document grid. | ||
int | getLineStartingNumber() | |
void | setLineStartingNumber(intvalue) | |
Gets or sets the starting line number. | ||
int | getMultiplePages() | |
void | setMultiplePages(intvalue) | |
For multiple page documents, gets or sets how a document is printed or rendered so that it can be bound as a booklet. The value of the property is MultiplePagesType integer constant. | ||
boolean | getOddAndEvenPagesHeaderFooter() | |
void | setOddAndEvenPagesHeaderFooter(booleanvalue) | |
True if the document has different headers and footers for odd-numbered and even-numbered pages. | ||
int | getOrientation() | |
void | setOrientation(intvalue) | |
Returns or sets the orientation of the page. The value of the property is Orientation integer constant. | ||
int | getOtherPagesTray() | |
void | setOtherPagesTray(intvalue) | |
Gets or sets the paper tray (bin) to be used for all but the first page of a section. The value is implementation (printer) specific. | ||
double | getPageHeight() | |
void | setPageHeight(doublevalue) | |
Returns or sets the height of the page in points. | ||
int | getPageNumberStyle() | |
void | setPageNumberStyle(intvalue) | |
Gets or sets the page number format. The value of the property is NumberStyle integer constant. | ||
int | getPageStartingNumber() | |
void | setPageStartingNumber(intvalue) | |
Gets or sets the starting page number of the section. | ||
double | getPageWidth() | |
void | setPageWidth(doublevalue) | |
Returns or sets the width of the page in points. | ||
int | getPaperSize() | |
void | setPaperSize(intvalue) | |
Returns or sets the paper size. The value of the property is PaperSize integer constant. | ||
boolean | getRestartPageNumbering() | |
void | setRestartPageNumbering(booleanvalue) | |
True if page numbering restarts at the beginning of the section. | ||
double | getRightMargin() | |
void | setRightMargin(doublevalue) | |
Returns or sets the distance (in points) between the right edge of the page and the right boundary of the body text. | ||
boolean | getRtlGutter() | |
void | setRtlGutter(booleanvalue) | |
Gets or sets whether Microsoft Word uses gutters for the section based on a right-to-left language or a left-to-right language. | ||
int | getSectionStart() | |
void | setSectionStart(intvalue) | |
Returns or sets the type of section break for the specified object. The value of the property is SectionStart integer constant. | ||
int | getSheetsPerBooklet() | |
void | setSheetsPerBooklet(intvalue) | |
Returns or sets the number of pages to be included in each booklet. | ||
boolean | getSuppressEndnotes() | |
void | setSuppressEndnotes(booleanvalue) | |
True if endnotes are printed at the end of the next section that doesn't suppress endnotes. Suppressed endnotes are printed before the endnotes in that section. | ||
TextColumnCollection | getTextColumns() | |
Returns a collection that represents the set of text columns.
|
||
int | getTextOrientation() | |
void | setTextOrientation(intvalue) | |
Allows to specify |
||
double | getTopMargin() | |
void | setTopMargin(doublevalue) | |
Returns or sets the distance (in points) between the top edge of the page and the top boundary of the body text. | ||
int | getVerticalAlignment() | |
void | setVerticalAlignment(intvalue) | |
Returns or sets the vertical alignment of text on each page in a document or section. The value of the property is PageVerticalAlignment integer constant. |
Method Summary | ||
---|---|---|
void | clearFormatting() | |
Resets page setup to default paper size, margins and orientation.
|
public boolean getBidi() / public void setBidi(boolean value)
When true, the columns in this section are laid out from right to left.
Example:
Shows how to change the order of columns.Document doc = new Document(); PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.getTextColumns().setCount(3); DocumentBuilder builder = new DocumentBuilder(doc); builder.write("Column 1."); builder.insertBreak(BreakType.COLUMN_BREAK); builder.write("Column 2."); builder.insertBreak(BreakType.COLUMN_BREAK); builder.write("Column 3."); // Reverse the order of the columns pageSetup.setBidi(true); doc.save(getArtifactsDir() + "PageSetup.Bidi.docx");
public boolean getBorderAlwaysInFront() / public void setBorderAlwaysInFront(boolean value)
Example:
Shows how to create a page border that looks like a wide blue band at the top of the first page only.Document doc = new Document(); PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setBorderAlwaysInFront(false); pageSetup.setBorderDistanceFrom(PageBorderDistanceFrom.PAGE_EDGE); pageSetup.setBorderAppliesTo(PageBorderAppliesTo.FIRST_PAGE); Border border = pageSetup.getBorders().getByBorderType(BorderType.TOP); border.setLineStyle(LineStyle.SINGLE); border.setLineWidth(30.0); border.setColor(Color.BLUE); border.setDistanceFromText(0.0); doc.save(getArtifactsDir() + "PageSetup.PageBorderProperties.docx");
public int getBorderAppliesTo() / public void setBorderAppliesTo(int value)
Example:
Shows how to create a page border that looks like a wide blue band at the top of the first page only.Document doc = new Document(); PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setBorderAlwaysInFront(false); pageSetup.setBorderDistanceFrom(PageBorderDistanceFrom.PAGE_EDGE); pageSetup.setBorderAppliesTo(PageBorderAppliesTo.FIRST_PAGE); Border border = pageSetup.getBorders().getByBorderType(BorderType.TOP); border.setLineStyle(LineStyle.SINGLE); border.setLineWidth(30.0); border.setColor(Color.BLUE); border.setDistanceFromText(0.0); doc.save(getArtifactsDir() + "PageSetup.PageBorderProperties.docx");
public int getBorderDistanceFrom() / public void setBorderDistanceFrom(int value)
Example:
Shows how to create a page border that looks like a wide blue band at the top of the first page only.Document doc = new Document(); PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setBorderAlwaysInFront(false); pageSetup.setBorderDistanceFrom(PageBorderDistanceFrom.PAGE_EDGE); pageSetup.setBorderAppliesTo(PageBorderAppliesTo.FIRST_PAGE); Border border = pageSetup.getBorders().getByBorderType(BorderType.TOP); border.setLineStyle(LineStyle.SINGLE); border.setLineWidth(30.0); border.setColor(Color.BLUE); border.setDistanceFromText(0.0); doc.save(getArtifactsDir() + "PageSetup.PageBorderProperties.docx");
public BorderCollection getBorders()
Example:
Shows how to create green wavy page border with a shadow.Document doc = new Document(); PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.getBorders().setLineStyle(LineStyle.DOUBLE_WAVE); pageSetup.getBorders().setLineWidth(2.0); pageSetup.getBorders().setColor(Color.GREEN); pageSetup.getBorders().setDistanceFromText(24.0); pageSetup.getBorders().setShadow(true); doc.save(getArtifactsDir() + "PageSetup.PageBorders.docx");
public boolean getBorderSurroundsFooter() / public void setBorderSurroundsFooter(boolean value)
Example:
Shows how to apply a border to the page and header/footer.Document doc = new Document(); // Insert header and footer text DocumentBuilder builder = new DocumentBuilder(doc); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.write("Header"); builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY); builder.write("Footer"); builder.moveToDocumentEnd(); // Insert a page border and set the color and line style PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.getBorders().setLineStyle(LineStyle.DOUBLE); pageSetup.getBorders().setColor(Color.BLUE); // By default, page borders don't surround headers and footers // We can change that by setting these flags pageSetup.setBorderSurroundsFooter(true); pageSetup.setBorderSurroundsHeader(true); doc.save(getArtifactsDir() + "PageSetup.PageBorder.docx");
public boolean getBorderSurroundsHeader() / public void setBorderSurroundsHeader(boolean value)
Example:
Shows how to apply a border to the page and header/footer.Document doc = new Document(); // Insert header and footer text DocumentBuilder builder = new DocumentBuilder(doc); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.write("Header"); builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY); builder.write("Footer"); builder.moveToDocumentEnd(); // Insert a page border and set the color and line style PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.getBorders().setLineStyle(LineStyle.DOUBLE); pageSetup.getBorders().setColor(Color.BLUE); // By default, page borders don't surround headers and footers // We can change that by setting these flags pageSetup.setBorderSurroundsFooter(true); pageSetup.setBorderSurroundsHeader(true); doc.save(getArtifactsDir() + "PageSetup.PageBorder.docx");
public double getBottomMargin() / public void setBottomMargin(double value)
Example:
Shows how to adjust paper size, orientation, margins and other settings for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.getPageSetup().setPaperSize(PaperSize.LEGAL); builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setTopMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setBottomMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setLeftMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setRightMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setHeaderDistance(ConvertUtil.inchToPoint(0.2)); builder.getPageSetup().setFooterDistance(ConvertUtil.inchToPoint(0.2)); builder.writeln("Hello world."); doc.save(getArtifactsDir() + "PageSetup.PageMargins.docx");
public int getCharactersPerLine() / public void setCharactersPerLine(int value)
Minimum value of the property is 1. Maximum value depends on page width and font size of the Normal style. Minimum character pitch is 90 percent of the font size. For example, maximum number of characters per line of a Letter page with one-inch margins is 43.
By default, the property has a value, on which character pitch equals to font size of the Normal style.
Example:
Shows how to create headers and footers different for first, even and odd pages using DocumentBuilder.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); PageSetup pageSetup = builder.getPageSetup(); pageSetup.setDifferentFirstPageHeaderFooter(true); pageSetup.setOddAndEvenPagesHeaderFooter(true); pageSetup.setLayoutMode(SectionLayoutMode.LINE_GRID); pageSetup.setCharactersPerLine(1); pageSetup.setLinesPerPage(1); builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST); builder.writeln("First page header."); builder.moveToHeaderFooter(HeaderFooterType.HEADER_EVEN); builder.writeln("Even pages header."); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.writeln("Odd pages header."); // Move back to the main story of the first section builder.moveToSection(0); builder.writeln("Text page 1."); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Text page 2."); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Text page 3."); doc.save(getArtifactsDir() + "PageSetup.DifferentHeaders.docx");
public boolean getDifferentFirstPageHeaderFooter() / public void setDifferentFirstPageHeaderFooter(boolean value)
Example:
Shows how to create headers and footers in a document using DocumentBuilder.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Specify that we want different headers and footers for first, even and odd pages. builder.getPageSetup().setDifferentFirstPageHeaderFooter(true); builder.getPageSetup().setOddAndEvenPagesHeaderFooter(true); // Create the headers, then add three pages to the document to display each header type. builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST); builder.write("Header for the first page"); builder.moveToHeaderFooter(HeaderFooterType.HEADER_EVEN); builder.write("Header for even pages"); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.write("Header for all other pages"); builder.moveToSection(0); builder.writeln("Page1"); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Page2"); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Page3"); doc.save(getArtifactsDir() + "DocumentBuilder.HeadersAndFooters.docx");
Example:
Shows how to create headers and footers different for first, even and odd pages using DocumentBuilder.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); PageSetup pageSetup = builder.getPageSetup(); pageSetup.setDifferentFirstPageHeaderFooter(true); pageSetup.setOddAndEvenPagesHeaderFooter(true); pageSetup.setLayoutMode(SectionLayoutMode.LINE_GRID); pageSetup.setCharactersPerLine(1); pageSetup.setLinesPerPage(1); builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST); builder.writeln("First page header."); builder.moveToHeaderFooter(HeaderFooterType.HEADER_EVEN); builder.writeln("Even pages header."); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.writeln("Odd pages header."); // Move back to the main story of the first section builder.moveToSection(0); builder.writeln("Text page 1."); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Text page 2."); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Text page 3."); doc.save(getArtifactsDir() + "PageSetup.DifferentHeaders.docx");
public EndnoteOptions getEndnoteOptions()
Example:
Shows how to set options for footnotes and endnotes in current section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Insert text and a reference for it in the form of a footnote builder.write("Hello world!."); builder.insertFootnote(FootnoteType.FOOTNOTE, "Footnote reference text."); // Set options for footnote position and numbering FootnoteOptions footnoteOptions = doc.getSections().get(0).getPageSetup().getFootnoteOptions(); footnoteOptions.setPosition(FootnotePosition.BENEATH_TEXT); footnoteOptions.setRestartRule(FootnoteNumberingRule.RESTART_PAGE); footnoteOptions.setStartNumber(1); // Endnotes also have a similar options object builder.write(" Hello again."); builder.insertFootnote(FootnoteType.FOOTNOTE, "Endnote reference text."); EndnoteOptions endnoteOptions = doc.getSections().get(0).getPageSetup().getEndnoteOptions(); endnoteOptions.setPosition(EndnotePosition.END_OF_DOCUMENT); endnoteOptions.setRestartRule(FootnoteNumberingRule.CONTINUOUS); endnoteOptions.setStartNumber(1); doc.save(getArtifactsDir() + "PageSetup.FootnoteOptions.docx");
public int getFirstPageTray() / public void setFirstPageTray(int value)
Example:
Shows how to set up printing using different printer trays for different paper sizes.Document doc = new Document(); // Choose the default printer to be used for printing this document PrintService printService = PrintServiceLookup.lookupDefaultPrintService(); Media[] trays = (Media[]) printService.getSupportedAttributeValues(Media.class, null, null); // This is the tray we will use for A4 paper size // This is the first tray in the media set int printerTrayForA4 = trays[0].getValue(); // This is the tray we will use Letter paper size // This is the second tray in the media set int printerTrayForLetter = trays[1].getValue(); // Set the tray used for each section based off the paper size used in the section for (Section section : doc.getSections()) { if (section.getPageSetup().getPaperSize() == PaperSize.LETTER) { section.getPageSetup().setFirstPageTray(printerTrayForLetter); section.getPageSetup().setOtherPagesTray(printerTrayForLetter); } else if (section.getPageSetup().getPaperSize() == PaperSize.A4) { section.getPageSetup().setFirstPageTray(printerTrayForA4); section.getPageSetup().setOtherPagesTray(printerTrayForA4); } }
public double getFooterDistance() / public void setFooterDistance(double value)
Example:
Shows how to adjust paper size, orientation, margins and other settings for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.getPageSetup().setPaperSize(PaperSize.LEGAL); builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setTopMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setBottomMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setLeftMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setRightMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setHeaderDistance(ConvertUtil.inchToPoint(0.2)); builder.getPageSetup().setFooterDistance(ConvertUtil.inchToPoint(0.2)); builder.writeln("Hello world."); doc.save(getArtifactsDir() + "PageSetup.PageMargins.docx");
public FootnoteOptions getFootnoteOptions()
Example:
Shows how to set options for footnotes and endnotes in current section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Insert text and a reference for it in the form of a footnote builder.write("Hello world!."); builder.insertFootnote(FootnoteType.FOOTNOTE, "Footnote reference text."); // Set options for footnote position and numbering FootnoteOptions footnoteOptions = doc.getSections().get(0).getPageSetup().getFootnoteOptions(); footnoteOptions.setPosition(FootnotePosition.BENEATH_TEXT); footnoteOptions.setRestartRule(FootnoteNumberingRule.RESTART_PAGE); footnoteOptions.setStartNumber(1); // Endnotes also have a similar options object builder.write(" Hello again."); builder.insertFootnote(FootnoteType.FOOTNOTE, "Endnote reference text."); EndnoteOptions endnoteOptions = doc.getSections().get(0).getPageSetup().getEndnoteOptions(); endnoteOptions.setPosition(EndnotePosition.END_OF_DOCUMENT); endnoteOptions.setRestartRule(FootnoteNumberingRule.CONTINUOUS); endnoteOptions.setStartNumber(1); doc.save(getArtifactsDir() + "PageSetup.FootnoteOptions.docx");
public double getGutter() / public void setGutter(double value)
Example:
Shows how to set gutter margins.Document doc = new Document(); // Insert text spanning several pages DocumentBuilder builder = new DocumentBuilder(doc); for (int i = 0; i < 6; i++) { builder.write("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); builder.insertBreak(BreakType.PAGE_BREAK); } // We can access the gutter margin in the section's page options, // which is a margin which is added to the page margin at one side of the page PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setGutter(100.0d); // If our text is LTR, the gutter will appear on the left side of the page // Setting this flag will move it to the right side pageSetup.setRtlGutter(true); // Mirroring the margins will make the gutter alternate in position from page to page pageSetup.setMultiplePages(MultiplePagesType.MIRROR_MARGINS); doc.save(getArtifactsDir() + "PageSetup.Gutter.docx");
public double getHeaderDistance() / public void setHeaderDistance(double value)
Example:
Shows how to adjust paper size, orientation, margins and other settings for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.getPageSetup().setPaperSize(PaperSize.LEGAL); builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setTopMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setBottomMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setLeftMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setRightMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setHeaderDistance(ConvertUtil.inchToPoint(0.2)); builder.getPageSetup().setFooterDistance(ConvertUtil.inchToPoint(0.2)); builder.writeln("Hello world."); doc.save(getArtifactsDir() + "PageSetup.PageMargins.docx");
public int getLayoutMode() / public void setLayoutMode(int value)
Example:
Shows how to create headers and footers different for first, even and odd pages using DocumentBuilder.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); PageSetup pageSetup = builder.getPageSetup(); pageSetup.setDifferentFirstPageHeaderFooter(true); pageSetup.setOddAndEvenPagesHeaderFooter(true); pageSetup.setLayoutMode(SectionLayoutMode.LINE_GRID); pageSetup.setCharactersPerLine(1); pageSetup.setLinesPerPage(1); builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST); builder.writeln("First page header."); builder.moveToHeaderFooter(HeaderFooterType.HEADER_EVEN); builder.writeln("Even pages header."); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.writeln("Odd pages header."); // Move back to the main story of the first section builder.moveToSection(0); builder.writeln("Text page 1."); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Text page 2."); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Text page 3."); doc.save(getArtifactsDir() + "PageSetup.DifferentHeaders.docx");
public double getLeftMargin() / public void setLeftMargin(double value)
Example:
Shows how to adjust paper size, orientation, margins and other settings for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.getPageSetup().setPaperSize(PaperSize.LEGAL); builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setTopMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setBottomMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setLeftMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setRightMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setHeaderDistance(ConvertUtil.inchToPoint(0.2)); builder.getPageSetup().setFooterDistance(ConvertUtil.inchToPoint(0.2)); builder.writeln("Hello world."); doc.save(getArtifactsDir() + "PageSetup.PageMargins.docx");
public int getLineNumberCountBy() / public void setLineNumberCountBy(int value)
Example:
Shows how to enable Microsoft Word line numbering for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Line numbering for each section can be configured via PageSetup PageSetup pageSetup = builder.getPageSetup(); pageSetup.setLineStartingNumber(1); pageSetup.setLineNumberCountBy(3); pageSetup.setLineNumberRestartMode(LineNumberRestartMode.RESTART_PAGE); pageSetup.setLineNumberDistanceFromText(50.0d); // LineNumberCountBy is set to 3, so every line that's a multiple of 3 // will display that line number to the left of the text for (int i = 1; i <= 25; i++) builder.writeln(MessageFormat.format("Line {0}.", i)); // The line counter will skip any paragraph with this flag set to true // Normally, the number "15" would normally appear next to this paragraph, which says "Line 15" // Since we set this flag to true and this paragraph is not counted by numbering, // number 15 will appear next to the next paragraph, "Line 16", and from then on counting will carry on as normal // until it will restart according to LineNumberRestartMode doc.getFirstSection().getBody().getParagraphs().get(14).getParagraphFormat().setSuppressLineNumbers(true); doc.save(getArtifactsDir() + "PageSetup.LineNumbers.docx");
public double getLineNumberDistanceFromText() / public void setLineNumberDistanceFromText(double value)
Example:
Shows how to enable Microsoft Word line numbering for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Line numbering for each section can be configured via PageSetup PageSetup pageSetup = builder.getPageSetup(); pageSetup.setLineStartingNumber(1); pageSetup.setLineNumberCountBy(3); pageSetup.setLineNumberRestartMode(LineNumberRestartMode.RESTART_PAGE); pageSetup.setLineNumberDistanceFromText(50.0d); // LineNumberCountBy is set to 3, so every line that's a multiple of 3 // will display that line number to the left of the text for (int i = 1; i <= 25; i++) builder.writeln(MessageFormat.format("Line {0}.", i)); // The line counter will skip any paragraph with this flag set to true // Normally, the number "15" would normally appear next to this paragraph, which says "Line 15" // Since we set this flag to true and this paragraph is not counted by numbering, // number 15 will appear next to the next paragraph, "Line 16", and from then on counting will carry on as normal // until it will restart according to LineNumberRestartMode doc.getFirstSection().getBody().getParagraphs().get(14).getParagraphFormat().setSuppressLineNumbers(true); doc.save(getArtifactsDir() + "PageSetup.LineNumbers.docx");
public int getLineNumberRestartMode() / public void setLineNumberRestartMode(int value)
Example:
Shows how to enable Microsoft Word line numbering for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Line numbering for each section can be configured via PageSetup PageSetup pageSetup = builder.getPageSetup(); pageSetup.setLineStartingNumber(1); pageSetup.setLineNumberCountBy(3); pageSetup.setLineNumberRestartMode(LineNumberRestartMode.RESTART_PAGE); pageSetup.setLineNumberDistanceFromText(50.0d); // LineNumberCountBy is set to 3, so every line that's a multiple of 3 // will display that line number to the left of the text for (int i = 1; i <= 25; i++) builder.writeln(MessageFormat.format("Line {0}.", i)); // The line counter will skip any paragraph with this flag set to true // Normally, the number "15" would normally appear next to this paragraph, which says "Line 15" // Since we set this flag to true and this paragraph is not counted by numbering, // number 15 will appear next to the next paragraph, "Line 16", and from then on counting will carry on as normal // until it will restart according to LineNumberRestartMode doc.getFirstSection().getBody().getParagraphs().get(14).getParagraphFormat().setSuppressLineNumbers(true); doc.save(getArtifactsDir() + "PageSetup.LineNumbers.docx");
public int getLinesPerPage() / public void setLinesPerPage(int value)
Minimum value of the property is 1. Maximum value depends on page height and font size of the Normal style. Minimum line pitch is 136 percent of the font size. For example, maximum number of lines per page of a Letter page with one-inch margins is 39.
By default, the property has a value, on which line pitch is in 1.5 times greater than font size of the Normal style.
Example:
Shows how to create headers and footers different for first, even and odd pages using DocumentBuilder.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); PageSetup pageSetup = builder.getPageSetup(); pageSetup.setDifferentFirstPageHeaderFooter(true); pageSetup.setOddAndEvenPagesHeaderFooter(true); pageSetup.setLayoutMode(SectionLayoutMode.LINE_GRID); pageSetup.setCharactersPerLine(1); pageSetup.setLinesPerPage(1); builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST); builder.writeln("First page header."); builder.moveToHeaderFooter(HeaderFooterType.HEADER_EVEN); builder.writeln("Even pages header."); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.writeln("Odd pages header."); // Move back to the main story of the first section builder.moveToSection(0); builder.writeln("Text page 1."); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Text page 2."); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Text page 3."); doc.save(getArtifactsDir() + "PageSetup.DifferentHeaders.docx");
public int getLineStartingNumber() / public void setLineStartingNumber(int value)
Example:
Shows how to enable Microsoft Word line numbering for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Line numbering for each section can be configured via PageSetup PageSetup pageSetup = builder.getPageSetup(); pageSetup.setLineStartingNumber(1); pageSetup.setLineNumberCountBy(3); pageSetup.setLineNumberRestartMode(LineNumberRestartMode.RESTART_PAGE); pageSetup.setLineNumberDistanceFromText(50.0d); // LineNumberCountBy is set to 3, so every line that's a multiple of 3 // will display that line number to the left of the text for (int i = 1; i <= 25; i++) builder.writeln(MessageFormat.format("Line {0}.", i)); // The line counter will skip any paragraph with this flag set to true // Normally, the number "15" would normally appear next to this paragraph, which says "Line 15" // Since we set this flag to true and this paragraph is not counted by numbering, // number 15 will appear next to the next paragraph, "Line 16", and from then on counting will carry on as normal // until it will restart according to LineNumberRestartMode doc.getFirstSection().getBody().getParagraphs().get(14).getParagraphFormat().setSuppressLineNumbers(true); doc.save(getArtifactsDir() + "PageSetup.LineNumbers.docx");
public int getMultiplePages() / public void setMultiplePages(int value)
Example:
Shows how to set gutter margins.Document doc = new Document(); // Insert text spanning several pages DocumentBuilder builder = new DocumentBuilder(doc); for (int i = 0; i < 6; i++) { builder.write("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); builder.insertBreak(BreakType.PAGE_BREAK); } // We can access the gutter margin in the section's page options, // which is a margin which is added to the page margin at one side of the page PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setGutter(100.0d); // If our text is LTR, the gutter will appear on the left side of the page // Setting this flag will move it to the right side pageSetup.setRtlGutter(true); // Mirroring the margins will make the gutter alternate in position from page to page pageSetup.setMultiplePages(MultiplePagesType.MIRROR_MARGINS); doc.save(getArtifactsDir() + "PageSetup.Gutter.docx");
public boolean getOddAndEvenPagesHeaderFooter() / public void setOddAndEvenPagesHeaderFooter(boolean value)
Example:
Shows how to create headers and footers in a document using DocumentBuilder.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Specify that we want different headers and footers for first, even and odd pages. builder.getPageSetup().setDifferentFirstPageHeaderFooter(true); builder.getPageSetup().setOddAndEvenPagesHeaderFooter(true); // Create the headers, then add three pages to the document to display each header type. builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST); builder.write("Header for the first page"); builder.moveToHeaderFooter(HeaderFooterType.HEADER_EVEN); builder.write("Header for even pages"); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.write("Header for all other pages"); builder.moveToSection(0); builder.writeln("Page1"); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Page2"); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Page3"); doc.save(getArtifactsDir() + "DocumentBuilder.HeadersAndFooters.docx");
Example:
Shows how to create headers and footers different for first, even and odd pages using DocumentBuilder.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); PageSetup pageSetup = builder.getPageSetup(); pageSetup.setDifferentFirstPageHeaderFooter(true); pageSetup.setOddAndEvenPagesHeaderFooter(true); pageSetup.setLayoutMode(SectionLayoutMode.LINE_GRID); pageSetup.setCharactersPerLine(1); pageSetup.setLinesPerPage(1); builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST); builder.writeln("First page header."); builder.moveToHeaderFooter(HeaderFooterType.HEADER_EVEN); builder.writeln("Even pages header."); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.writeln("Odd pages header."); // Move back to the main story of the first section builder.moveToSection(0); builder.writeln("Text page 1."); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Text page 2."); builder.insertBreak(BreakType.PAGE_BREAK); builder.writeln("Text page 3."); doc.save(getArtifactsDir() + "PageSetup.DifferentHeaders.docx");
public int getOrientation() / public void setOrientation(int value)
Changing Orientation swaps
Example:
Shows how to insert sections using DocumentBuilder, specify page setup for a section and reset page setup to defaults.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Modify the first section in the document builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setVerticalAlignment(PageVerticalAlignment.CENTER); builder.writeln("Section 1, landscape oriented and text vertically centered."); // Start a new section and reset its formatting to defaults builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE); builder.getPageSetup().clearFormatting(); builder.writeln("Section 2, back to default Letter paper size, portrait orientation and top alignment."); doc.save(getArtifactsDir() + "PageSetup.ClearFormatting.docx");
Example:
Shows how to adjust paper size, orientation, margins and other settings for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.getPageSetup().setPaperSize(PaperSize.LEGAL); builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setTopMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setBottomMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setLeftMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setRightMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setHeaderDistance(ConvertUtil.inchToPoint(0.2)); builder.getPageSetup().setFooterDistance(ConvertUtil.inchToPoint(0.2)); builder.writeln("Hello world."); doc.save(getArtifactsDir() + "PageSetup.PageMargins.docx");
public int getOtherPagesTray() / public void setOtherPagesTray(int value)
Example:
Shows how to set up printing using different printer trays for different paper sizes.Document doc = new Document(); // Choose the default printer to be used for printing this document PrintService printService = PrintServiceLookup.lookupDefaultPrintService(); Media[] trays = (Media[]) printService.getSupportedAttributeValues(Media.class, null, null); // This is the tray we will use for A4 paper size // This is the first tray in the media set int printerTrayForA4 = trays[0].getValue(); // This is the tray we will use Letter paper size // This is the second tray in the media set int printerTrayForLetter = trays[1].getValue(); // Set the tray used for each section based off the paper size used in the section for (Section section : doc.getSections()) { if (section.getPageSetup().getPaperSize() == PaperSize.LETTER) { section.getPageSetup().setFirstPageTray(printerTrayForLetter); section.getPageSetup().setOtherPagesTray(printerTrayForLetter); } else if (section.getPageSetup().getPaperSize() == PaperSize.A4) { section.getPageSetup().setFirstPageTray(printerTrayForA4); section.getPageSetup().setOtherPagesTray(printerTrayForA4); } }
public double getPageHeight() / public void setPageHeight(double value)
Example:
Shows how to insert an image, and use it as a watermark.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Insert the image into the header so that it will be visible on every page. BufferedImage image = ImageIO.read(new File(getImageDir() + "Transparent background logo.png")); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); Shape shape = builder.insertImage(image); shape.setWrapType(WrapType.NONE); shape.setBehindText(true); // Place the image at the center of the page. shape.setRelativeHorizontalPosition(RelativeHorizontalPosition.PAGE); shape.setRelativeVerticalPosition(RelativeVerticalPosition.PAGE); shape.setLeft((builder.getPageSetup().getPageWidth() - shape.getWidth()) / 2.0); shape.setTop((builder.getPageSetup().getPageHeight() - shape.getHeight()) / 2.0); doc.save(getArtifactsDir() + "DocumentBuilder.InsertWatermark.docx");
public int getPageNumberStyle() / public void setPageNumberStyle(int value)
Example:
Shows how to control page numbering per section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.writeln("Section 1"); builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE); builder.writeln("Section 2"); // Use document builder to create a header with a page number field for the first section // The page number will look like "Page V" builder.moveToSection(0); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.write("Page "); builder.insertField("PAGE", ""); // Set first section page numbering PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setRestartPageNumbering(true); pageSetup.setPageStartingNumber(5); pageSetup.setPageNumberStyle(NumberStyle.UPPERCASE_ROMAN); // Create a header for the section // The page number will look like " - 10 - ". builder.moveToSection(1); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER); builder.write(" - "); builder.insertField("PAGE", ""); builder.write(" - "); // Set second section page numbering pageSetup = doc.getSections().get(1).getPageSetup(); pageSetup.setPageStartingNumber(10); pageSetup.setRestartPageNumbering(true); pageSetup.setPageNumberStyle(NumberStyle.ARABIC); doc.save(getArtifactsDir() + "PageSetup.PageNumbering.docx");
public int getPageStartingNumber() / public void setPageStartingNumber(int value)
Example:
Shows how to control page numbering per section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.writeln("Section 1"); builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE); builder.writeln("Section 2"); // Use document builder to create a header with a page number field for the first section // The page number will look like "Page V" builder.moveToSection(0); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.write("Page "); builder.insertField("PAGE", ""); // Set first section page numbering PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setRestartPageNumbering(true); pageSetup.setPageStartingNumber(5); pageSetup.setPageNumberStyle(NumberStyle.UPPERCASE_ROMAN); // Create a header for the section // The page number will look like " - 10 - ". builder.moveToSection(1); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER); builder.write(" - "); builder.insertField("PAGE", ""); builder.write(" - "); // Set second section page numbering pageSetup = doc.getSections().get(1).getPageSetup(); pageSetup.setPageStartingNumber(10); pageSetup.setRestartPageNumbering(true); pageSetup.setPageNumberStyle(NumberStyle.ARABIC); doc.save(getArtifactsDir() + "PageSetup.PageNumbering.docx");
public double getPageWidth() / public void setPageWidth(double value)
Example:
Shows how to insert an image, and use it as a watermark.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Insert the image into the header so that it will be visible on every page. BufferedImage image = ImageIO.read(new File(getImageDir() + "Transparent background logo.png")); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); Shape shape = builder.insertImage(image); shape.setWrapType(WrapType.NONE); shape.setBehindText(true); // Place the image at the center of the page. shape.setRelativeHorizontalPosition(RelativeHorizontalPosition.PAGE); shape.setRelativeVerticalPosition(RelativeVerticalPosition.PAGE); shape.setLeft((builder.getPageSetup().getPageWidth() - shape.getWidth()) / 2.0); shape.setTop((builder.getPageSetup().getPageHeight() - shape.getHeight()) / 2.0); doc.save(getArtifactsDir() + "DocumentBuilder.InsertWatermark.docx");
Example:
Shows how to insert a floating image and specify its position and size.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // By default, the image is inline Shape shape = builder.insertImage(getImageDir() + "Logo.jpg"); // Make the image float, put it behind text and center on the page shape.setWrapType(WrapType.NONE); // Make position relative to the page shape.setRelativeHorizontalPosition(RelativeHorizontalPosition.PAGE); shape.setRelativeVerticalPosition(RelativeVerticalPosition.PAGE); // Set the shape's coordinates, from the top left corner of the page shape.setLeft(100.0); shape.setTop(80.0); // Set the shape's height shape.setHeight(125.0); // The width will be scaled to the height and the dimensions of the real image Assert.assertEquals(shape.getWidth(), 125.0); // The Bottom and Right members contain the locations of the bottom and right edges of the image Assert.assertEquals(shape.getBottom(), shape.getTop() + shape.getHeight()); Assert.assertEquals(shape.getRight(), shape.getLeft() + shape.getWidth()); doc.save(getArtifactsDir() + "Image.CreateFloatingPositionSize.docx");
public int getPaperSize() / public void setPaperSize(int value)
Setting this property updates
Example:
Shows how to adjust paper size, orientation, margins and other settings for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.getPageSetup().setPaperSize(PaperSize.LEGAL); builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setTopMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setBottomMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setLeftMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setRightMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setHeaderDistance(ConvertUtil.inchToPoint(0.2)); builder.getPageSetup().setFooterDistance(ConvertUtil.inchToPoint(0.2)); builder.writeln("Hello world."); doc.save(getArtifactsDir() + "PageSetup.PageMargins.docx");
Example:
Shows how to construct an Aspose Words document node by node.Document doc = new Document(); // A newly created blank document still comes one section, one body and one paragraph // Calling this method will remove all those nodes to completely empty the document doc.removeAllChildren(); // This document now has no composite nodes that content can be added to // If we wish to edit it, we will need to repopulate its node collection, // which we will start to do with by creating a new Section node Section section = new Section(doc); // Append the section to the document doc.appendChild(section); // Lets set some properties for the section section.getPageSetup().setSectionStart(SectionStart.NEW_PAGE); section.getPageSetup().setPaperSize(PaperSize.LETTER); // A section needs a body, which will contain all other nodes that can be edited Body body = new Body(doc); section.appendChild(body); // The body needs to have at least one paragraph // Note that the paragraph has not yet been added to the document, but we have to specify the parent document // The parent document is needed so the paragraph can correctly work // with styles and other document-wide information Paragraph para = new Paragraph(doc); body.appendChild(para); // We can set some formatting for the paragraph para.getParagraphFormat().setStyleName("Heading 1"); para.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER); // Now we can begin adding content to the document Run run = new Run(doc); run.setText("Hello World!"); run.getFont().setColor(Color.RED); para.appendChild(run); Assert.assertEquals("Hello World!" + ControlChar.SECTION_BREAK_CHAR, doc.getText()); doc.save(getArtifactsDir() + "Section.CreateFromScratch.docx");
public boolean getRestartPageNumbering() / public void setRestartPageNumbering(boolean value)
Example:
Shows how to control page numbering per section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.writeln("Section 1"); builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE); builder.writeln("Section 2"); // Use document builder to create a header with a page number field for the first section // The page number will look like "Page V" builder.moveToSection(0); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.write("Page "); builder.insertField("PAGE", ""); // Set first section page numbering PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setRestartPageNumbering(true); pageSetup.setPageStartingNumber(5); pageSetup.setPageNumberStyle(NumberStyle.UPPERCASE_ROMAN); // Create a header for the section // The page number will look like " - 10 - ". builder.moveToSection(1); builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY); builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER); builder.write(" - "); builder.insertField("PAGE", ""); builder.write(" - "); // Set second section page numbering pageSetup = doc.getSections().get(1).getPageSetup(); pageSetup.setPageStartingNumber(10); pageSetup.setRestartPageNumbering(true); pageSetup.setPageNumberStyle(NumberStyle.ARABIC); doc.save(getArtifactsDir() + "PageSetup.PageNumbering.docx");
public double getRightMargin() / public void setRightMargin(double value)
Example:
Shows how to adjust paper size, orientation, margins and other settings for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.getPageSetup().setPaperSize(PaperSize.LEGAL); builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setTopMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setBottomMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setLeftMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setRightMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setHeaderDistance(ConvertUtil.inchToPoint(0.2)); builder.getPageSetup().setFooterDistance(ConvertUtil.inchToPoint(0.2)); builder.writeln("Hello world."); doc.save(getArtifactsDir() + "PageSetup.PageMargins.docx");
public boolean getRtlGutter() / public void setRtlGutter(boolean value)
Example:
Shows how to set gutter margins.Document doc = new Document(); // Insert text spanning several pages DocumentBuilder builder = new DocumentBuilder(doc); for (int i = 0; i < 6; i++) { builder.write("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); builder.insertBreak(BreakType.PAGE_BREAK); } // We can access the gutter margin in the section's page options, // which is a margin which is added to the page margin at one side of the page PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setGutter(100.0d); // If our text is LTR, the gutter will appear on the left side of the page // Setting this flag will move it to the right side pageSetup.setRtlGutter(true); // Mirroring the margins will make the gutter alternate in position from page to page pageSetup.setMultiplePages(MultiplePagesType.MIRROR_MARGINS); doc.save(getArtifactsDir() + "PageSetup.Gutter.docx");
public int getSectionStart() / public void setSectionStart(int value)
Example:
Shows how to specify how the section starts, from a new page, on the same page or other.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Add text to the first section and that comes with a blank document, // then add a new section that starts a new page and give it text as well builder.writeln("This text is in section 1."); builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE); builder.writeln("This text is in section 2."); // Section break types determine how a new section gets split from the previous section // By inserting a "SectionBreakNewPage" type section break, we've set this section's SectionStart value to "NewPage" Assert.assertEquals(SectionStart.NEW_PAGE, doc.getSections().get(1).getPageSetup().getSectionStart()); // Insert a new column section the same way builder.insertBreak(BreakType.SECTION_BREAK_NEW_COLUMN); builder.writeln("This text is in section 3."); Assert.assertEquals(SectionStart.NEW_COLUMN, doc.getSections().get(2).getPageSetup().getSectionStart()); // We can change the types of section breaks by assigning different values to each section's SectionStart // Setting their values to "Continuous" will put no visible breaks between sections // and will leave all the content of this document on one page doc.getSections().get(1).getPageSetup().setSectionStart(SectionStart.CONTINUOUS); doc.getSections().get(2).getPageSetup().setSectionStart(SectionStart.CONTINUOUS); doc.save(getArtifactsDir() + "PageSetup.SetSectionStart.docx");
Example:
Shows how to construct an Aspose Words document node by node.Document doc = new Document(); // A newly created blank document still comes one section, one body and one paragraph // Calling this method will remove all those nodes to completely empty the document doc.removeAllChildren(); // This document now has no composite nodes that content can be added to // If we wish to edit it, we will need to repopulate its node collection, // which we will start to do with by creating a new Section node Section section = new Section(doc); // Append the section to the document doc.appendChild(section); // Lets set some properties for the section section.getPageSetup().setSectionStart(SectionStart.NEW_PAGE); section.getPageSetup().setPaperSize(PaperSize.LETTER); // A section needs a body, which will contain all other nodes that can be edited Body body = new Body(doc); section.appendChild(body); // The body needs to have at least one paragraph // Note that the paragraph has not yet been added to the document, but we have to specify the parent document // The parent document is needed so the paragraph can correctly work // with styles and other document-wide information Paragraph para = new Paragraph(doc); body.appendChild(para); // We can set some formatting for the paragraph para.getParagraphFormat().setStyleName("Heading 1"); para.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER); // Now we can begin adding content to the document Run run = new Run(doc); run.setText("Hello World!"); run.getFont().setColor(Color.RED); para.appendChild(run); Assert.assertEquals("Hello World!" + ControlChar.SECTION_BREAK_CHAR, doc.getText()); doc.save(getArtifactsDir() + "Section.CreateFromScratch.docx");
public int getSheetsPerBooklet() / public void setSheetsPerBooklet(int value)
Example:
Shows how to create a booklet.Document doc = new Document(); // Use a document builder to create 16 pages of content that will be compiled in a booklet DocumentBuilder builder = new DocumentBuilder(doc); builder.writeln("My Booklet:"); for (int i = 0; i < 15; i++) { builder.insertBreak(BreakType.PAGE_BREAK); builder.write(MessageFormat.format("Booklet face #{0}", i)); } // Set the number of sheets that will be used by the printer to create the booklet // After being printed on both sides, the sheets can be stacked and folded down the centre // The contents that we placed in such a way that they will be in order once the booklet is folded // We can only specify the number of sheets in multiples of 4 PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setMultiplePages(MultiplePagesType.BOOK_FOLD_PRINTING); pageSetup.setSheetsPerBooklet(4); doc.save(getArtifactsDir() + "PageSetup.Booklet.docx");
public boolean getSuppressEndnotes() / public void setSuppressEndnotes(boolean value)
Example:
Shows how to store endnotes at the end of each section instead of the document and manipulate their positions.public void suppressEndnotes() throws Exception { // Create a new document and make it empty Document doc = new Document(); doc.removeAllChildren(); // Normally endnotes are all stored at the end of a document, but this option lets us store them at the end of each section doc.getEndnoteOptions().setPosition(EndnotePosition.END_OF_SECTION); // Create 3 new sections, each having a paragraph and an endnote at the end insertSection(doc, "Section 1", "Endnote 1, will stay in section 1"); insertSection(doc, "Section 2", "Endnote 2, will be pushed down to section 3"); insertSection(doc, "Section 3", "Endnote 3, will stay in section 3"); // Each section contains its own page setup object // Setting this value will push this section's endnotes down to the next section PageSetup pageSetup = doc.getSections().get(1).getPageSetup(); pageSetup.setSuppressEndnotes(true); doc.save(getArtifactsDir() + "PageSetup.SuppressEndnotes.docx"); } /// <summary> /// Add a section to the end of a document, give it a body and a paragraph, then add text and an endnote to that paragraph. /// </summary> private void insertSection(Document doc, String sectionBodyText, String endnoteText) { Section section = new Section(doc); doc.appendChild(section); Body body = new Body(doc); section.appendChild(body); Assert.assertEquals(body.getParentNode(), section); Paragraph para = new Paragraph(doc); body.appendChild(para); Assert.assertEquals(para.getParentNode(), body); DocumentBuilder builder = new DocumentBuilder(doc); builder.moveTo(para); builder.write(sectionBodyText); builder.insertFootnote(FootnoteType.ENDNOTE, endnoteText); }
public TextColumnCollection getTextColumns()
Example:
Shows how to create multiple evenly spaced columns in a section using DocumentBuilder.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); TextColumnCollection columns = builder.getPageSetup().getTextColumns(); // Make spacing between columns wider columns.setSpacing(100.0); // This creates two columns of equal width columns.setCount(2); builder.writeln("Text in column 1."); builder.insertBreak(BreakType.COLUMN_BREAK); builder.writeln("Text in column 2."); doc.save(getArtifactsDir() + "PageSetup.ColumnsSameWidth.docx");
public int getTextOrientation() / public void setTextOrientation(int value)
Example:
Shows how to set text orientation.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.writeln("Hello world!"); // Setting this value will rotate the section's text 90 degrees to the right PageSetup pageSetup = doc.getSections().get(0).getPageSetup(); pageSetup.setTextOrientation(TextOrientation.UPWARD); doc.save(getArtifactsDir() + "PageSetup.SectionTextOrientation.docx");
public double getTopMargin() / public void setTopMargin(double value)
Example:
Shows how to adjust paper size, orientation, margins and other settings for a section.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.getPageSetup().setPaperSize(PaperSize.LEGAL); builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setTopMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setBottomMargin(ConvertUtil.inchToPoint(1.0)); builder.getPageSetup().setLeftMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setRightMargin(ConvertUtil.inchToPoint(1.5)); builder.getPageSetup().setHeaderDistance(ConvertUtil.inchToPoint(0.2)); builder.getPageSetup().setFooterDistance(ConvertUtil.inchToPoint(0.2)); builder.writeln("Hello world."); doc.save(getArtifactsDir() + "PageSetup.PageMargins.docx");
public int getVerticalAlignment() / public void setVerticalAlignment(int value)
Example:
Shows how to insert sections using DocumentBuilder, specify page setup for a section and reset page setup to defaults.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Modify the first section in the document builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setVerticalAlignment(PageVerticalAlignment.CENTER); builder.writeln("Section 1, landscape oriented and text vertically centered."); // Start a new section and reset its formatting to defaults builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE); builder.getPageSetup().clearFormatting(); builder.writeln("Section 2, back to default Letter paper size, portrait orientation and top alignment."); doc.save(getArtifactsDir() + "PageSetup.ClearFormatting.docx");
public void clearFormatting()
Example:
Shows how to insert sections using DocumentBuilder, specify page setup for a section and reset page setup to defaults.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Modify the first section in the document builder.getPageSetup().setOrientation(Orientation.LANDSCAPE); builder.getPageSetup().setVerticalAlignment(PageVerticalAlignment.CENTER); builder.writeln("Section 1, landscape oriented and text vertically centered."); // Start a new section and reset its formatting to defaults builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE); builder.getPageSetup().clearFormatting(); builder.writeln("Section 2, back to default Letter paper size, portrait orientation and top alignment."); doc.save(getArtifactsDir() + "PageSetup.ClearFormatting.docx");