diff --git a/src/main/java/writer2latex/xhtml/DocumentSeparator.java b/src/main/java/writer2latex/xhtml/DocumentSeparator.java
index 02553ce..d84f51a 100644
--- a/src/main/java/writer2latex/xhtml/DocumentSeparator.java
+++ b/src/main/java/writer2latex/xhtml/DocumentSeparator.java
@@ -23,6 +23,7 @@ public class DocumentSeparator {
private boolean splitByPages = false;
private int lastSplitPageNum = 1;
private Integer pageNumber = null;
+ private String breakStyle = null;
private static LinkedList headerStack = new LinkedList();
private static boolean pageOpened = false;
@@ -42,6 +43,7 @@ public class DocumentSeparator {
pageSeparation = config.getPageTags();
splitLevel = config.getXhtmlSplitLevel();
splitByPages = pageSeparation.equals(DIV) ? true : false;
+ breakStyle = config.getPageBreakStyle();
}
public void setPageContainerStyle(String style) {
@@ -171,18 +173,32 @@ public class DocumentSeparator {
private void breakPage(Node node, int curPageNum) {
if (pageNumber != null && pageNumber != curPageNum) {
-
Document doc = node.getOwnerDocument();
Element pageBreak = (Element) doc.createElement(DIV);
pageBreak.setAttribute("class", "pageBreak");
+ if (breakStyleIsSet()) {
+ applyBreakStyle(pageBreak);
+ }
node.appendChild(pageBreak);
}
pageNumber = curPageNum;
}
+
+ private void applyBreakStyle(Element pageBreak) {
+ pageBreak.setAttribute("style", breakStyle);
+ }
+
+ public boolean breakStyleIsSet() {
+ if (breakStyle == null || breakStyle.isEmpty()) {
+ return false;
+ } else {
+ return true;
+ }
+ }
+
private void arrangePageDivs(Node node, int pageNum) {
Document newdoc = node.getOwnerDocument();
- Document olddoc = prevPageNode.getOwnerDocument();
String prevPageNum = getAttribute(prevPageNode, "page");
if (prevPageNum != null && prevPageNum.equals(Integer.toString(pageNum))) {
@@ -365,6 +381,6 @@ public class DocumentSeparator {
public String getPageContainerStyle() {
return this.pageContainerStyle;
}
-
+
}
\ No newline at end of file
diff --git a/src/main/java/writer2latex/xhtml/TextStyleConverter.java b/src/main/java/writer2latex/xhtml/TextStyleConverter.java
index cb5ce7f..9082d4c 100644
--- a/src/main/java/writer2latex/xhtml/TextStyleConverter.java
+++ b/src/main/java/writer2latex/xhtml/TextStyleConverter.java
@@ -96,7 +96,7 @@ public class TextStyleConverter extends StyleWithPropertiesConverterHelper {
}
this.bConvertFont = !config.useDefaultFont();
- String minLS = config.minLetterSpacing().replaceAll("[^0-9,.,-]", "");
+ String minLS = config.getMinLetterSpacing().replaceAll("[^0-9,.,-]", "");
if (!minLS.equals("")) {
try {
this.minLetterSpacing = Double.parseDouble(minLS);
diff --git a/src/main/java/writer2latex/xhtml/XhtmlConfig.java b/src/main/java/writer2latex/xhtml/XhtmlConfig.java
index 52e78a5..667a474 100644
--- a/src/main/java/writer2latex/xhtml/XhtmlConfig.java
+++ b/src/main/java/writer2latex/xhtml/XhtmlConfig.java
@@ -40,7 +40,7 @@ import writer2latex.util.Misc;
public class XhtmlConfig extends writer2latex.base.ConfigBase {
// Implement configuration methods
- protected int getOptionCount() { return 62; }
+ protected int getOptionCount() { return 63; }
protected String getDefaultConfigPath() { return "/writer2latex/xhtml/config/"; }
// Override setOption: To be backwards compatible, we must accept options
@@ -161,6 +161,7 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase {
private static final int HEADING_TAGS = 59;
private static final int PAGE_TAGS = 60;
private static final int MIN_LETTER_SPACING = 61;
+ private static final int PAGE_BREAK_STYLE = 62;
protected ComplexOption xheading = addComplexOption("heading-map");
protected ComplexOption xpar = addComplexOption("paragraph-map");
@@ -297,6 +298,8 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase {
options[HEADING_TAGS] = new Option("heading_tags","sections");
options[PAGE_TAGS] = new Option("page_tags","div");
options[MIN_LETTER_SPACING] = new Option("min_letter_spacing","");
+ options[PAGE_BREAK_STYLE] = new Option("page_break_style","");
+
}
@@ -446,8 +449,9 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase {
}
return options[HEADING_TAGS].getString(); }
public String getPageTags() { return options[PAGE_TAGS].getString(); }
- public String minLetterSpacing() { return ( options[MIN_LETTER_SPACING]).getString(); }
-
+ public String getMinLetterSpacing() { return ( options[MIN_LETTER_SPACING]).getString(); }
+ public String getPageBreakStyle() { return ( options[PAGE_BREAK_STYLE]).getString(); }
+
public XhtmlStyleMap getXParStyleMap() { return getStyleMap(xpar); }
public XhtmlStyleMap getXHeadingStyleMap() { return getStyleMap(xheading); }
public XhtmlStyleMap getXTextStyleMap() { return getStyleMap(xtext); }