Example usage for com.itextpdf.text.pdf PdfTemplate setMatrix

List of usage examples for com.itextpdf.text.pdf PdfTemplate setMatrix

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfTemplate setMatrix.

Prototype

public void setMatrix(float a, float b, float c, float d, float e, float f) 

Source Link

Usage

From source file:com.ideationdesignservices.txtbook.pdf.TxtBookPdf.java

public void addConversationBackground(Document document, ColumnText ct, int column, float top,
        float messageWidth, float messageHeight, Boolean isMe)
        throws DocumentException, MalformedURLException, IOException {
    float[][] COLUMNS;
    if (messageWidth < MAX_COLUMN_CONTENT_WIDTH) {
        messageWidth += 8.0f;/*from  w  w  w. ja  v  a2 s .  c o  m*/
    }
    messageHeight -= 35.0f;
    top -= BaseField.BORDER_WIDTH_THICK;
    if (COLUMNS_REG[0][0] == Txtbook.leftMargin(this.writer, document, this.settings.addFrontCover)) {
        COLUMNS = COLUMNS_REG;
    } else {
        COLUMNS = COLUMNS_ALT;
    }
    float left = COLUMNS[column][0];
    PdfContentByte under = this.writer.getDirectContentUnder();
    PdfTemplate bg = this.writer.getDirectContentUnder().createTemplate(
            (BUBBLE_L_WIDTH + messageWidth) + BUBBLE_R_WIDTH,
            (BUBBLE_T_HEIGHT + messageHeight) + BUBBLE_L_WIDTH);
    String num = isMe.booleanValue() ? "1" : "2";
    Image bgTL = Image
            .getInstance(ImageUtilities.getImageDataForFile(this.mContext, "pdf/bubble_" + num + "_tl.png"));
    bgTL.scaleAbsoluteWidth(BUBBLE_L_WIDTH);
    bgTL.scaleAbsoluteHeight(BUBBLE_T_HEIGHT);
    bgTL.setAbsolutePosition(0.0f, BUBBLE_L_WIDTH + messageHeight);
    bg.addImage(bgTL);
    Image bgT = Image
            .getInstance(ImageUtilities.getImageDataForFile(this.mContext, "pdf/bubble_" + num + "_t.png"));
    bgT.scaleAbsoluteWidth(messageWidth);
    bgT.scaleAbsoluteHeight(BUBBLE_T_HEIGHT);
    bgT.setAbsolutePosition(BUBBLE_L_WIDTH, BUBBLE_L_WIDTH + messageHeight);
    bg.addImage(bgT);
    Image bgTR = Image
            .getInstance(ImageUtilities.getImageDataForFile(this.mContext, "pdf/bubble_" + num + "_tr.png"));
    bgTR.scaleAbsoluteWidth(BUBBLE_R_WIDTH);
    bgTR.scaleAbsoluteHeight(BUBBLE_T_HEIGHT);
    bgTR.setAbsolutePosition(BUBBLE_L_WIDTH + messageWidth, BUBBLE_L_WIDTH + messageHeight);
    bg.addImage(bgTR);
    Image bgL = Image
            .getInstance(ImageUtilities.getImageDataForFile(this.mContext, "pdf/bubble_" + num + "_l.png"));
    bgL.scaleAbsoluteWidth(BUBBLE_L_WIDTH);
    bgL.scaleAbsoluteHeight(messageHeight);
    bgL.setAbsolutePosition(0.0f, BUBBLE_L_WIDTH);
    bg.addImage(bgL);
    bg.saveState();
    if (isMe.booleanValue()) {
        bg.setRGBColorFill(241, 241, 241);
    } else {
        bg.setRGBColorFill(208, 231, 196);
    }
    bg.rectangle(BUBBLE_L_WIDTH, BUBBLE_L_WIDTH, messageWidth, messageHeight);
    bg.fill();
    bg.restoreState();
    Image bgR = Image
            .getInstance(ImageUtilities.getImageDataForFile(this.mContext, "pdf/bubble_" + num + "_r.png"));
    bgR.scaleAbsoluteWidth(BUBBLE_R_WIDTH);
    bgR.scaleAbsoluteHeight(messageHeight);
    bgR.setAbsolutePosition(BUBBLE_L_WIDTH + messageWidth, BUBBLE_L_WIDTH);
    bg.addImage(bgR);
    Image bgBL = Image
            .getInstance(ImageUtilities.getImageDataForFile(this.mContext, "pdf/bubble_" + num + "_bl.png"));
    bgBL.scaleAbsoluteWidth(BUBBLE_L_WIDTH);
    bgBL.scaleAbsoluteHeight(BUBBLE_L_WIDTH);
    bgBL.setAbsolutePosition(0.0f, 0.0f);
    bg.addImage(bgBL);
    Image bgB = Image
            .getInstance(ImageUtilities.getImageDataForFile(this.mContext, "pdf/bubble_" + num + "_b.png"));
    bgB.scaleAbsoluteWidth(messageWidth);
    bgB.scaleAbsoluteHeight(BUBBLE_L_WIDTH);
    bgB.setAbsolutePosition(BUBBLE_L_WIDTH, 0.0f);
    bg.addImage(bgB);
    Image bgBR = Image
            .getInstance(ImageUtilities.getImageDataForFile(this.mContext, "pdf/bubble_" + num + "_br.png"));
    bgBR.scaleAbsoluteWidth(BUBBLE_R_WIDTH);
    bgBR.scaleAbsoluteHeight(BUBBLE_L_WIDTH);
    bgBR.setAbsolutePosition(BUBBLE_L_WIDTH + messageWidth, 0.0f);
    bg.addImage(bgBR);
    if (!isMe.booleanValue()) {
        bg.setMatrix(BUBBLE_TEXT_INDENT_MAIN, 0.0f, 0.0f, BaseField.BORDER_WIDTH_THIN, 0.0f, 0.0f);
        left += COLUMN_WIDTH;
    }
    under.addTemplate(bg, left, (top - messageHeight) - 20.0f);
}