Skip to content

Instantly share code, notes, and snippets.

@vandeseer
vandeseer / EasytableIssue135.java
Created October 9, 2021 20:38
Too long tables on same page instead new page
package org.vandeseer.easytable;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
@vandeseer
vandeseer / EasytableIssue97.java
Created August 5, 2020 07:57
For easytable issue #97
public class CustomCellDrawerTest {
public static final String FILE_NAME = "example.pdf";
private static final TextCellDrawer CUSTOM_DRAWER = new TextCellDrawer() {
@Override
public void drawBorders(DrawingContext drawingContext) {
super.drawBorders(drawingContext);
final Point2D.Float start = drawingContext.getStartingPoint();
@vandeseer
vandeseer / DdlGenerator.java
Created June 30, 2020 09:38
Generate DDL from Hibernate Entities
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.hibernate.tool.schema.TargetType;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
public class DdlGenerator {
@vandeseer
vandeseer / EasytableIssue70.java
Created February 26, 2020 21:34
Customized RepeatedHeaderTableDrawer with configurable amount of rows to repeat
package org.vandeseer.integrationtest.custom;
import lombok.experimental.SuperBuilder;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.vandeseer.easytable.TableDrawer;
import java.awt.geom.Point2D;
import java.io.IOException;
import java.util.function.Supplier;
@vandeseer
vandeseer / EasytableIssue68.java
Created February 21, 2020 15:03
Easytable Artificially Bold Text
package org.vandeseer.integrationtest.custom;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.vandeseer.easytable.TableDrawer;
import org.vandeseer.easytable.drawing.DrawingContext;
import org.vandeseer.easytable.drawing.PositionedStyledText;
import org.vandeseer.easytable.drawing.cell.TextCellDrawer;
@vandeseer
vandeseer / EasytableTableWithinTable.java
Created February 6, 2020 18:11
Illustrates composing of tables
package org.vandeseer.integrationtest.custom;
import lombok.Getter;
import lombok.experimental.SuperBuilder;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.vandeseer.easytable.TableDrawer;
import org.vandeseer.easytable.drawing.Drawer;
@vandeseer
vandeseer / EasytableIssue60.java
Created February 6, 2020 17:03
Using easytable to draw rectangles within cells
package org.vandeseer.integrationtest.custom;
import lombok.Getter;
import lombok.SneakyThrows;
import lombok.experimental.SuperBuilder;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.vandeseer.easytable.TableDrawer;
@vandeseer
vandeseer / EasytableIssue59.java
Last active May 11, 2023 11:20
Adding a table to every page of a document
package org.vandeseer.integrationtest.custom;
import lombok.Getter;
import lombok.experimental.SuperBuilder;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.vandeseer.easytable.TableDrawer;
@vandeseer
vandeseer / AdditionalPropertiesSerializer.java
Created August 9, 2019 09:02
A custom Jackson serializer for "additionalProperties" (OpenAPI)
public class AdditionalPropertiesSerializer extends StdSerializer<HashMap<String, Object>> {
private static final Logger LOGGER = getLogger();
public AdditionalPropertiesSerializer(Class<HashMap<String, Object>> clazz) {
super(clazz);
}
@Override
public void serialize(HashMap<String, Object> classExtendedFromHashMap, JsonGenerator jsonGenerator, SerializerProvider provider) throws IOException {
@vandeseer
vandeseer / PerfTest2.java
Created August 5, 2019 13:04
Another performance test for creating PDF documents with tables using easytable
public void perfTest4() throws IOException {
String outputFileName = "perfTest4.pdf";
final PDDocument document = new PDDocument();
java.util.List<Object[]> dataList = new ArrayList<>();
for (int i = 0; i < 5000; i++) {
dataList.add(new Object[]{"Whisky", 134.0, 145.0});
dataList.add(new Object[]{"Beer", 768.0, 677.0});