X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fpdf%2FPDFGenerator.java;h=bdfcdbe35f81e894aaa7971ae8c4c958b347f2c9;hb=c505321bf98713dd46373cb657fe2e7a7d01ff76;hp=767910372d70a98a1d24906901d62076f204d519;hpb=be34fb9a81a87be7c7534088ffb329c099748583;p=mir.git diff --git a/source/mircoders/pdf/PDFGenerator.java b/source/mircoders/pdf/PDFGenerator.java index 76791037..bdfcdbe3 100755 --- a/source/mircoders/pdf/PDFGenerator.java +++ b/source/mircoders/pdf/PDFGenerator.java @@ -214,27 +214,47 @@ public class PDFGenerator{ 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 { - - ColumnText ct = new ColumnText(cb); - //add a basic header - ct.addText(new Phrase(headerText, new Font(getFontByName(titleFontFamily), titleFontSize,Font.BOLD))); - float[] rightCol = {rightEdge,topEdge,rightEdge,topEdge-titleLineHeight}; - float[] leftCol = {leftEdge,topEdge,leftEdge,topEdge-titleLineHeight}; - ct.setColumns(leftCol,rightCol); - ct.setYLine(topEdge); - ct.setAlignment(Element.ALIGN_CENTER); - ct.go(); + 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); - currentYPosition = currentYPosition - titleLineHeight; + + 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()); + } } - public void addIndexItem(EntityContent entityContent){ try {