
gutenberg.itext.pegdown.TableNodeProcessor Maven / Gradle / Ivy
package gutenberg.itext.pegdown;
import com.itextpdf.text.Element;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfPTableEvent;
import org.pegdown.ast.Node;
import org.pegdown.ast.TableColumnNode;
import org.pegdown.ast.TableNode;
import java.util.List;
/**
* @author @aloyer
*/
public class TableNodeProcessor extends Processor {
private final PdfPTableEvent[] tableEvents;
public TableNodeProcessor(PdfPTableEvent... tableEvents) {
this.tableEvents = tableEvents;
}
@Override
public void process(int level, Node node, InvocationContext context) {
TableNode tableNode = (TableNode) node;
List tableNodeColumns = tableNode.getColumns();
PdfPTable table = new PdfPTable(tableNodeColumns.size());
for (PdfPTableEvent tableEvent : tableEvents) {
table.setTableEvent(tableEvent);
}
context.pushTable(new TableInfos(table, tableNodeColumns));
context.processChildren(level, node);
context.popTable();
context.append(table);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy