Skip to content

Commit 9b62d2e

Browse files
committed
Make columncount algorithm overidable
DEVSIX-7624
1 parent 64fa962 commit 9b62d2e

File tree

4 files changed

+28
-13
lines changed

4 files changed

+28
-13
lines changed

src/main/java/com/itextpdf/html2pdf/attach/impl/tags/DivTagWorker.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ This file is part of the iText (R) project.
3030
import com.itextpdf.html2pdf.css.CssConstants;
3131
import com.itextpdf.layout.IPropertyContainer;
3232
import com.itextpdf.layout.element.AreaBreak;
33-
import com.itextpdf.layout.element.MulticolContainer;
3433
import com.itextpdf.layout.element.Div;
3534
import com.itextpdf.layout.element.IBlockElement;
3635
import com.itextpdf.layout.element.IElement;
3736
import com.itextpdf.layout.element.ILeafElement;
3837
import com.itextpdf.layout.element.Image;
38+
import com.itextpdf.layout.element.MulticolContainer;
3939
import com.itextpdf.styledxmlparser.node.IElementNode;
4040

4141
import java.util.Map;
@@ -48,7 +48,7 @@ public class DivTagWorker implements ITagWorker, IDisplayAware {
4848
/**
4949
* Column container element.
5050
*/
51-
private MulticolContainer columnContainer;
51+
protected MulticolContainer multicolContainer;
5252

5353
/** The div element. */
5454
private Div div;
@@ -69,8 +69,8 @@ public DivTagWorker(IElementNode element, ProcessorContext context) {
6969
div = new Div();
7070
Map<String, String> styles = element.getStyles();
7171
if (styles != null && styles.containsKey(CssConstants.COLUMN_COUNT)) {
72-
columnContainer = new MulticolContainer();
73-
columnContainer.add(div);
72+
multicolContainer = new MulticolContainer();
73+
multicolContainer.add(div);
7474
}
7575
inlineHelper = new WaitingInlineElementsHelper(styles == null ? null : styles.get(CssConstants.WHITE_SPACE),
7676
styles == null ? null : styles.get(CssConstants.TEXT_TRANSFORM));
@@ -142,7 +142,7 @@ public boolean processTagChild(ITagWorker childTagWorker, ProcessorContext conte
142142
*/
143143
@Override
144144
public IPropertyContainer getElementResult() {
145-
return columnContainer == null ? div : columnContainer;
145+
return multicolContainer == null ? div : multicolContainer;
146146
}
147147

148148
/* (non-Javadoc)

src/main/java/com/itextpdf/html2pdf/attach/impl/tags/PTagWorker.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,10 @@ public class PTagWorker implements ITagWorker, IDisplayAware {
5858
/** The container which handles the elements that are present in the &lt;p&gt; tag. */
5959
private Div elementsContainer;
6060

61-
/** Container for the result in case of multicol layouting */
62-
private MulticolContainer multicolContainer;
61+
/**
62+
* Container for the result in case of multicol layouting
63+
*/
64+
protected MulticolContainer multicolContainer;
6365

6466
/** Helper class for waiting inline elements. */
6567
private WaitingInlineElementsHelper inlineHelper;

src/main/java/com/itextpdf/html2pdf/attach/impl/tags/TdTagWorker.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,29 @@ This file is part of the iText (R) project.
4545
*/
4646
public class TdTagWorker implements ITagWorker, IDisplayAware {
4747

48-
/** The cell. */
48+
/**
49+
* The cell.
50+
*/
4951
private final Cell cell;
5052

51-
/** Container for cell children in case of multicol layouting */
53+
/**
54+
* Container for cell children in case of multicol layouting
55+
*/
5256
private Div childOfMulticolContainer;
5357

54-
/** The inline helper. */
58+
/**
59+
* Container for children in case of multicol layouting
60+
*/
61+
protected MulticolContainer multicolContainer;
62+
63+
/**
64+
* The inline helper.
65+
*/
5566
private final WaitingInlineElementsHelper inlineHelper;
5667

57-
/** The display. */
68+
/**
69+
* The display.
70+
*/
5871
private final String display;
5972

6073
/**
@@ -74,7 +87,7 @@ public TdTagWorker(IElementNode element, ProcessorContext context) {
7487

7588
Map<String, String> styles = element.getStyles();
7689
if (styles.containsKey(CssConstants.COLUMN_COUNT)) {
77-
MulticolContainer multicolContainer = new MulticolContainer();
90+
multicolContainer = new MulticolContainer();
7891
childOfMulticolContainer = new Div();
7992
multicolContainer.add(childOfMulticolContainer);
8093
// TODO DEVSIX-7564, DEVSIX-7562 apply other multicol properties

src/main/java/com/itextpdf/html2pdf/attach/impl/tags/UlOlTagWorker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public class UlOlTagWorker implements ITagWorker {
4949
*/
5050
private List list;
5151

52-
private MulticolContainer multicolContainer;
52+
protected MulticolContainer multicolContainer;
5353

5454
/**
5555
* Helper class for waiting inline elements.

0 commit comments

Comments
 (0)