Search in sources :

Example 21 with Phrase

use of com.lowagie.text.Phrase in project dhis2-core by dhis2.

the class PdfFieldCell method cellLayout.

@Override
public void cellLayout(PdfPCell cell, Rectangle rect, PdfContentByte[] canvases) {
    try {
        PdfContentByte canvasText = canvases[PdfPTable.TEXTCANVAS];
        if (type == TYPE_RADIOBUTTON) {
            if (parent != null) {
                float leftLoc = rect.getLeft();
                float rightLoc = rect.getLeft() + RADIOBUTTON_WIDTH;
                String text;
                String value;
                for (int i = 0; i < texts.length; i++) {
                    text = texts[i];
                    value = values[i];
                    Rectangle radioRec = new Rectangle(leftLoc, rect.getTop() - height, rightLoc, rect.getTop());
                    RadioCheckField rf = new RadioCheckField(writer, radioRec, "RDBtn_" + text, value);
                    if (value != null && value.equals(checkValue)) {
                        rf.setChecked(true);
                    }
                    rf.setBorderColor(GrayColor.GRAYBLACK);
                    rf.setBackgroundColor(GrayColor.GRAYWHITE);
                    rf.setCheckType(RadioCheckField.TYPE_CIRCLE);
                    parent.addKid(rf.getRadioField());
                    leftLoc = rightLoc;
                    rightLoc += width;
                    ColumnText.showTextAligned(canvasText, Element.ALIGN_LEFT, new Phrase(text), leftLoc + RADIOBUTTON_TEXTOFFSET, height, 0);
                    leftLoc = rightLoc;
                    rightLoc += RADIOBUTTON_WIDTH;
                }
                writer.addAnnotation(parent);
            }
        } else if (type == TYPE_BUTTON) {
            // Add the push button
            PushbuttonField button = new PushbuttonField(writer, rect, name);
            button.setBackgroundColor(new GrayColor(0.75f));
            button.setBorderColor(GrayColor.GRAYBLACK);
            button.setBorderWidth(1);
            button.setBorderStyle(PdfBorderDictionary.STYLE_BEVELED);
            button.setTextColor(GrayColor.GRAYBLACK);
            button.setFontSize(PdfDataEntryFormUtil.UNITSIZE_DEFAULT);
            button.setText(text);
            button.setLayout(PushbuttonField.LAYOUT_ICON_LEFT_LABEL_RIGHT);
            button.setScaleIcon(PushbuttonField.SCALE_ICON_ALWAYS);
            button.setProportionalIcon(true);
            button.setIconHorizontalAdjustment(0);
            formField = button.getField();
            formField.setAction(PdfAction.javaScript(jsAction, writer));
        } else if (type == TYPE_CHECKBOX) {
            float extraCheckBoxOffset_Left = 2.0f;
            float extraCheckBoxOffset_Top = 1.5f;
            formField.setWidget(new Rectangle(rect.getLeft() + OFFSET_LEFT + extraCheckBoxOffset_Left, rect.getTop() - height - OFFSET_TOP - extraCheckBoxOffset_Top, rect.getLeft() + width + OFFSET_LEFT + extraCheckBoxOffset_Left, rect.getTop() - OFFSET_TOP - extraCheckBoxOffset_Top), PdfAnnotation.HIGHLIGHT_NONE);
        } else {
            if (type == TYPE_TEXT_ORGUNIT) {
                formField.setAdditionalActions(PdfName.BL, PdfAction.javaScript("if(event.value == '') app.alert('Please enter org unit identifier');", writer));
            }
            // TYPE_TEXT_NUMBER and TYPE_CHECKBOX cases included as well
            // here
            formField.setWidget(new Rectangle(rect.getLeft() + OFFSET_LEFT, rect.getTop() - height - OFFSET_TOP, rect.getLeft() + width + OFFSET_LEFT, rect.getTop() - OFFSET_TOP), PdfAnnotation.HIGHLIGHT_NONE);
        }
        writer.addAnnotation(formField);
    } catch (DocumentException ex) {
        throw new RuntimeException(ex.getMessage());
    } catch (IOException ex) {
        throw new RuntimeException(ex.getMessage());
    }
}
Also used : RadioCheckField(com.lowagie.text.pdf.RadioCheckField) DocumentException(com.lowagie.text.DocumentException) Rectangle(com.lowagie.text.Rectangle) PdfContentByte(com.lowagie.text.pdf.PdfContentByte) Phrase(com.lowagie.text.Phrase) GrayColor(com.lowagie.text.pdf.GrayColor) IOException(java.io.IOException) PushbuttonField(com.lowagie.text.pdf.PushbuttonField)

Example 22 with Phrase

use of com.lowagie.text.Phrase in project activityinfo by bedatadriven.

the class RtfReportRenderer method renderFooter.

@Override
protected void renderFooter(Document document) {
    HeaderFooter footer = new HeaderFooter(new Phrase("Page", ThemeHelper.footerFont()), true);
    document.setFooter(footer);
}
Also used : HeaderFooter(com.lowagie.text.HeaderFooter) Phrase(com.lowagie.text.Phrase)

Example 23 with Phrase

use of com.lowagie.text.Phrase in project activityinfo by bedatadriven.

the class ItextMapRenderer method addPieChartDescription.

private void addPieChartDescription(MapReportElement element, Cell descriptionCell, PiechartMapLayer layer) throws BadElementException, IOException {
    for (Slice slice : layer.getSlices()) {
        IndicatorDTO indicator = element.getContent().getIndicatorById(slice.getIndicatorId());
        Color color = ColorUtil.colorFromString(slice.getColor());
        ItextGraphic sliceImage = renderSlice(imageCreator, color, 10);
        Chunk box = new Chunk(sliceImage.toItextImage(), 0, 0);
        Chunk description = new Chunk(indicator.getName());
        Phrase phrase = new Phrase();
        phrase.add(box);
        phrase.add(description);
        Paragraph paragraph = new Paragraph(phrase);
        descriptionCell.add(paragraph);
    }
}
Also used : IndicatorDTO(org.activityinfo.shared.dto.IndicatorDTO) Slice(org.activityinfo.shared.report.model.layers.PiechartMapLayer.Slice) Color(com.google.code.appengine.awt.Color) Phrase(com.lowagie.text.Phrase) Chunk(com.lowagie.text.Chunk) ItextGraphic(org.activityinfo.server.report.renderer.image.ItextGraphic) Paragraph(com.lowagie.text.Paragraph)

Aggregations

Phrase (com.lowagie.text.Phrase)23 HeaderFooter (com.lowagie.text.HeaderFooter)9 DocumentException (com.lowagie.text.DocumentException)8 Paragraph (com.lowagie.text.Paragraph)8 PdfPCell (com.lowagie.text.pdf.PdfPCell)7 Chunk (com.lowagie.text.Chunk)4 Document (com.lowagie.text.Document)4 Color (java.awt.Color)4 Image (com.lowagie.text.Image)3 Section (com.lowagie.text.Section)3 IOException (java.io.IOException)3 ArrayList (java.util.ArrayList)3 List (java.util.List)3 BadElementException (com.lowagie.text.BadElementException)2 Cell (com.lowagie.text.Cell)2 Font (com.lowagie.text.Font)2 ListItem (com.lowagie.text.ListItem)2 Rectangle (com.lowagie.text.Rectangle)2 PdfContentByte (com.lowagie.text.pdf.PdfContentByte)2 PdfPTable (com.lowagie.text.pdf.PdfPTable)2