Added pageBreak div

This commit is contained in:
Georgy Litvinov 2020-01-25 20:38:53 +01:00
parent 62506ecc05
commit aa99728e57

View file

@ -22,6 +22,7 @@ public class DocumentSeparator {
private int splitLevel = 0; private int splitLevel = 0;
private boolean splitByPages = false; private boolean splitByPages = false;
private int lastSplitPageNum = 1; private int lastSplitPageNum = 1;
private Integer pageNumber = null;
private static LinkedList<Integer> headerStack = new LinkedList<Integer>(); private static LinkedList<Integer> headerStack = new LinkedList<Integer>();
private static boolean pageOpened = false; private static boolean pageOpened = false;
@ -149,24 +150,36 @@ public class DocumentSeparator {
return hnode; return hnode;
} }
private Node openPageDiv(Node node,int pageNum){ private Node openPageDiv(Node node,int curPageNum){
if (node == null){ if (node == null){
System.out.println("Error: node is null on openPageDiv"); System.out.println("Error: node is null on openPageDiv");
return node; return node;
} }
if (prevPageNode != null && splitByPages) { if (prevPageNode != null && splitByPages) {
arrangePageDivs(node,pageNum); arrangePageDivs(node,curPageNum);
} }
breakPage(node,curPageNum);
Document doc = node.getOwnerDocument(); Document doc = node.getOwnerDocument();
Element openBlock = (Element) doc.createElement(DIV); Element openBlock = (Element) doc.createElement(DIV);
openBlock.setAttribute("class", "pageNum"); openBlock.setAttribute("class", "pageNum");
openBlock.setAttribute("page", Integer.toString(pageNum)); openBlock.setAttribute("page", Integer.toString(curPageNum));
// insert open section comment before header node // insert open section comment before header node
node.appendChild((Node)openBlock); node.appendChild((Node)openBlock);
node = openBlock; node = openBlock;
return openBlock; return openBlock;
} }
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");
node.appendChild(pageBreak);
}
pageNumber = curPageNum;
}
private void arrangePageDivs(Node node, int pageNum) { private void arrangePageDivs(Node node, int pageNum) {
Document newdoc = node.getOwnerDocument(); Document newdoc = node.getOwnerDocument();
Document olddoc = prevPageNode.getOwnerDocument(); Document olddoc = prevPageNode.getOwnerDocument();