+ public void addHeader(String headerText){
+ int titleFontSize=Integer.parseInt(configuration.getString("PDF.Title.FontSize"));
+ int titleLineHeight=Integer.parseInt(configuration.getString("PDF.Title.LineHeight"));
+ String titleFontFamily=configuration.getString("PDF.Title.FontFamily");
+ String headerImage=configuration.getString("PDF.Header.Image");
+ int headerImageHeight = Integer.parseInt(configuration.getString("PDF.Header.ImageHeight"));
+
+ try {
+ if ((! headerImage.equals("")) && headerImageHeight != 0){
+ PdfTemplate template = cb.createTemplate(rightEdge-horizontalMargin,headerImageHeight);
+
+ float toYPosition=currentYPosition - headerImageHeight;
+ Image theImage = Image.getInstance(headerImage);
+ theImage.setAbsolutePosition(0,0);
+ // theImage.scaleAbsolute(img_width,img_height);
+ template.addImage(theImage);
+
+
+ cb.addTemplate(template,leftEdge,toYPosition);
+ currentYPosition = toYPosition;
+ }
+ if (! headerText.equals("")){
+ ColumnText ct = new ColumnText(cb);
+ //add a basic header
+ ct.addText(new Phrase(headerText, new Font(getFontByName(titleFontFamily), titleFontSize,Font.BOLD)));
+ float[] rightCol = {rightEdge,currentYPosition,rightEdge,currentYPosition-titleLineHeight};
+ float[] leftCol = {leftEdge,currentYPosition,leftEdge,currentYPosition-titleLineHeight};
+ ct.setColumns(leftCol,rightCol);
+ ct.setYLine(currentYPosition);
+ ct.setAlignment(Element.ALIGN_CENTER);
+ ct.go();
+
+ currentYPosition = currentYPosition - titleLineHeight;
+ }
+ }
+ catch(DocumentException de) {
+ logger.error(de.getMessage());
+ }
+ catch(MalformedURLException de) {
+ logger.error(de.getMessage());
+ }
+ catch(IOException de) {
+ logger.error(de.getMessage());
+ }
+ }