public static class PDFPreFormattingProducerNodeBuilder extends DefaultProducerNodeBuilders.AbstractProducerNodeBuilder {
private final static String MARKER_KEY_ATTRIBUTE = DefaultProducerNodeBuilders.KEY_ATTRIBUTE;
- private final static String[] MARKER_REQUIRED_ATTRIBUTES = { MARKER_KEY_ATTRIBUTE };
+ private final static String PDF_NUM_LINES_ATTRIBUTE = "numLinesBetweenImages";
+ private final static String PDF_CONTENT_WIDTH_ATTRIBUTE = "contentAreaWidthCM";
+ private final static String PDF_CHAR_WIDTH_ATTRIBUTE = "charWidthCM";
+ private final static String PDF_PIXEL_WIDTH_ATTRIBUTE = "pixelWidthCM";
+ private final static String PDF_LINE_HEIGHT_ATTRIBUTE = "lineHeightCM";
+ private final static String[] MARKER_REQUIRED_ATTRIBUTES = { MARKER_KEY_ATTRIBUTE, PDF_NUM_LINES_ATTRIBUTE, PDF_CONTENT_WIDTH_ATTRIBUTE,PDF_CHAR_WIDTH_ATTRIBUTE,PDF_PIXEL_WIDTH_ATTRIBUTE,PDF_LINE_HEIGHT_ATTRIBUTE };
private final static String[] MARKER_OPTIONAL_ATTRIBUTES = {};
private final static String[] MARKER_SUBNODES = {};
private String key;
+ private String numLinesBetweenImages;
+ private String contentAreaWidthCM;
+ private String characterWidthCM;
+ private String pixelWidthCM;
+ private String lineHeightCM;
public PDFPreFormattingProducerNodeBuilder() {
super(MARKER_SUBNODES);
ReaderTool.checkAttributes(anAttributes, MARKER_REQUIRED_ATTRIBUTES, MARKER_OPTIONAL_ATTRIBUTES);
key = (String) anAttributes.get(MARKER_KEY_ATTRIBUTE);
+ numLinesBetweenImages = (String) anAttributes.get(PDF_NUM_LINES_ATTRIBUTE);
+ contentAreaWidthCM = (String) anAttributes.get(PDF_CONTENT_WIDTH_ATTRIBUTE);
+ characterWidthCM = (String) anAttributes.get(PDF_CHAR_WIDTH_ATTRIBUTE);
+ pixelWidthCM = (String) anAttributes.get(PDF_PIXEL_WIDTH_ATTRIBUTE);
+ lineHeightCM = (String) anAttributes.get(PDF_LINE_HEIGHT_ATTRIBUTE);
+
+
};
public ProducerNode constructNode() {
- return new PDFPreFormattingProducerNode(key);
+ return new PDFPreFormattingProducerNode(key,numLinesBetweenImages,contentAreaWidthCM,characterWidthCM,pixelWidthCM,lineHeightCM);
};
}