Example usage for com.lowagie.text.pdf PdfContentByte LINE_CAP_BUTT

List of usage examples for com.lowagie.text.pdf PdfContentByte LINE_CAP_BUTT

Introduction

In this page you can find the example usage for com.lowagie.text.pdf PdfContentByte LINE_CAP_BUTT.

Prototype

int LINE_CAP_BUTT

To view the source code for com.lowagie.text.pdf PdfContentByte LINE_CAP_BUTT.

Click Source Link

Document

A possible line cap value

Usage

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *//*from w  w w.  j a  va2 s . c  om*/
protected void exportLine(JRPrintLine line) {
    float lineWidth = line.getLinePen().getLineWidth().floatValue();
    if (lineWidth > 0f) {
        preparePen(pdfContentByte, line.getLinePen(), PdfContentByte.LINE_CAP_BUTT);

        if (line.getWidth() == 1) {
            if (line.getHeight() != 1) {
                //Vertical line
                if (line.getLinePen().getLineStyleValue() == LineStyleEnum.DOUBLE) {
                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f - lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f - lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());

                    pdfContentByte.stroke();

                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f + lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f + lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                } else {
                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                }
            }
        } else {
            if (line.getHeight() == 1) {
                //Horizontal line
                if (line.getLinePen().getLineStyleValue() == LineStyleEnum.DOUBLE) {
                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f + lineWidth / 3);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f + lineWidth / 3);

                    pdfContentByte.stroke();

                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f - lineWidth / 3);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f - lineWidth / 3);
                } else {
                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f);
                }
            } else {
                //Oblique line
                if (line.getDirectionValue() == LineDirectionEnum.TOP_DOWN) {
                    if (line.getLinePen().getLineStyleValue() == LineStyleEnum.DOUBLE) {
                        double xtrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getWidth(), 2) / Math.pow(line.getHeight(), 2)));
                        double ytrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getHeight(), 2) / Math.pow(line.getWidth(), 2)));

                        pdfContentByte.moveTo(line.getX() + getOffsetX() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() + (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        + (float) ytrans);

                        pdfContentByte.stroke();

                        pdfContentByte.moveTo(line.getX() + getOffsetX() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        - (float) ytrans);
                    } else {
                        pdfContentByte.moveTo(line.getX() + getOffsetX(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                    }
                } else {
                    if (line.getLinePen().getLineStyleValue() == LineStyleEnum.DOUBLE) {
                        double xtrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getWidth(), 2) / Math.pow(line.getHeight(), 2)));
                        double ytrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getHeight(), 2) / Math.pow(line.getWidth(), 2)));

                        pdfContentByte.moveTo(line.getX() + getOffsetX() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        - (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - (float) ytrans);

                        pdfContentByte.stroke();

                        pdfContentByte.moveTo(line.getX() + getOffsetX() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        + (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() + (float) ytrans);
                    } else {
                        pdfContentByte.moveTo(line.getX() + getOffsetX(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    }
                }
            }
        }

        pdfContentByte.stroke();

        pdfContentByte.setLineDash(0f);
        pdfContentByte.setLineCap(PdfContentByte.LINE_CAP_PROJECTING_SQUARE);
    }
}

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *///from   w w w .  j  a  v  a 2s  .com
protected void exportTopPen(JRPen topPen, JRPen leftPen, JRPen rightPen, JRPrintElement element) {
    if (topPen.getLineWidth().floatValue() > 0f) {
        float leftOffset = leftPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(leftPen);
        float rightOffset = rightPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(rightPen);

        preparePen(pdfContentByte, topPen, PdfContentByte.LINE_CAP_BUTT);

        if (topPen.getLineStyleValue() == LineStyleEnum.DOUBLE) {
            float topOffset = topPen.getLineWidth().floatValue();

            pdfContentByte.moveTo(element.getX() + getOffsetX() - leftOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() + topOffset / 3);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() + rightOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() + topOffset / 3);
            pdfContentByte.stroke();

            pdfContentByte.moveTo(element.getX() + getOffsetX() + leftOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset / 3);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() - rightOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset / 3);
            pdfContentByte.stroke();
        } else {
            float topOffset = BorderOffset.getOffset(topPen);
            pdfContentByte.moveTo(element.getX() + getOffsetX() - leftOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() + rightOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset);
            pdfContentByte.stroke();
        }
    }
}

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *///from  w  w w. ja  va  2 s .c  o  m
protected void exportLeftPen(JRPen topPen, JRPen leftPen, JRPen bottomPen, JRPrintElement element) {
    if (leftPen.getLineWidth().floatValue() > 0f) {
        float topOffset = topPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(topPen);
        float bottomOffset = bottomPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(bottomPen);

        preparePen(pdfContentByte, leftPen, PdfContentByte.LINE_CAP_BUTT);

        if (leftPen.getLineStyleValue() == LineStyleEnum.DOUBLE) {
            float leftOffset = leftPen.getLineWidth().floatValue();

            pdfContentByte.moveTo(element.getX() + getOffsetX() - leftOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() + topOffset);
            pdfContentByte.lineTo(element.getX() + getOffsetX() - leftOffset / 3, jasperPrint.getPageHeight()
                    - element.getY() - getOffsetY() - element.getHeight() - bottomOffset);
            pdfContentByte.stroke();

            pdfContentByte.moveTo(element.getX() + getOffsetX() + leftOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset / 3);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + leftOffset / 3, jasperPrint.getPageHeight()
                    - element.getY() - getOffsetY() - element.getHeight() + bottomOffset / 3);
            pdfContentByte.stroke();
        } else {
            float leftOffset = BorderOffset.getOffset(leftPen);
            pdfContentByte.moveTo(element.getX() + getOffsetX() + leftOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() + topOffset);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + leftOffset, jasperPrint.getPageHeight()
                    - element.getY() - getOffsetY() - element.getHeight() - bottomOffset);
            pdfContentByte.stroke();
        }
    }
}

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *///from  w  w  w  .ja v a  2  s .  c  o  m
protected void exportBottomPen(JRPen leftPen, JRPen bottomPen, JRPen rightPen, JRPrintElement element) {
    if (bottomPen.getLineWidth().floatValue() > 0f) {
        float leftOffset = leftPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(leftPen);
        float rightOffset = rightPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(rightPen);

        preparePen(pdfContentByte, bottomPen, PdfContentByte.LINE_CAP_BUTT);

        if (bottomPen.getLineStyleValue() == LineStyleEnum.DOUBLE) {
            float bottomOffset = bottomPen.getLineWidth().floatValue();

            pdfContentByte.moveTo(element.getX() + getOffsetX() - leftOffset, jasperPrint.getPageHeight()
                    - element.getY() - getOffsetY() - element.getHeight() - bottomOffset / 3);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() + rightOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - element.getHeight()
                            - bottomOffset / 3);
            pdfContentByte.stroke();

            pdfContentByte.moveTo(element.getX() + getOffsetX() + leftOffset / 3, jasperPrint.getPageHeight()
                    - element.getY() - getOffsetY() - element.getHeight() + bottomOffset / 3);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() - rightOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - element.getHeight()
                            + bottomOffset / 3);
            pdfContentByte.stroke();
        } else {
            float bottomOffset = BorderOffset.getOffset(bottomPen);
            pdfContentByte.moveTo(element.getX() + getOffsetX() - leftOffset, jasperPrint.getPageHeight()
                    - element.getY() - getOffsetY() - element.getHeight() + bottomOffset);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() + rightOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - element.getHeight()
                            + bottomOffset);
            pdfContentByte.stroke();
        }
    }
}

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *//*w ww . ja  v a  2s  .  c o m*/
protected void exportRightPen(JRPen topPen, JRPen bottomPen, JRPen rightPen, JRPrintElement element) {
    if (rightPen.getLineWidth().floatValue() > 0f) {
        float topOffset = topPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(topPen);
        float bottomOffset = bottomPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(bottomPen);

        preparePen(pdfContentByte, rightPen, PdfContentByte.LINE_CAP_BUTT);

        if (rightPen.getLineStyleValue() == LineStyleEnum.DOUBLE) {
            float rightOffset = rightPen.getLineWidth().floatValue();

            pdfContentByte.moveTo(element.getX() + getOffsetX() + element.getWidth() + rightOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() + topOffset);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() + rightOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - element.getHeight()
                            - bottomOffset);
            pdfContentByte.stroke();

            pdfContentByte.moveTo(element.getX() + getOffsetX() + element.getWidth() - rightOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset / 3);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() - rightOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - element.getHeight()
                            + bottomOffset / 3);
            pdfContentByte.stroke();
        } else {
            float rightOffset = BorderOffset.getOffset(rightPen);
            pdfContentByte.moveTo(element.getX() + getOffsetX() + element.getWidth() - rightOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() + topOffset);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() - rightOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - element.getHeight()
                            - bottomOffset);
            pdfContentByte.stroke();
        }
    }
}

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 */// w  ww.jav  a2 s.com
private static void preparePen(PdfContentByte pdfContentByte, JRPen pen, int lineCap) {
    float lineWidth = pen.getLineWidth().floatValue();

    if (lineWidth <= 0) {
        return;
    }

    pdfContentByte.setLineWidth(lineWidth);
    pdfContentByte.setLineCap(lineCap);

    Color color = pen.getLineColor();
    pdfContentByte.setRGBColorStroke(color.getRed(), color.getGreen(), color.getBlue());

    switch (pen.getLineStyleValue()) {
    case DOUBLE: {
        pdfContentByte.setLineWidth(lineWidth / 3);
        pdfContentByte.setLineDash(0f);
        break;
    }
    case DOTTED: {
        switch (lineCap) {
        case PdfContentByte.LINE_CAP_BUTT: {
            pdfContentByte.setLineDash(lineWidth, lineWidth, 0f);
            break;
        }
        case PdfContentByte.LINE_CAP_PROJECTING_SQUARE: {
            pdfContentByte.setLineDash(0, 2 * lineWidth, 0f);
            break;
        }
        }
        break;
    }
    case DASHED: {
        switch (lineCap) {
        case PdfContentByte.LINE_CAP_BUTT: {
            pdfContentByte.setLineDash(5 * lineWidth, 3 * lineWidth, 0f);
            break;
        }
        case PdfContentByte.LINE_CAP_PROJECTING_SQUARE: {
            pdfContentByte.setLineDash(4 * lineWidth, 4 * lineWidth, 0f);
            break;
        }
        }
        break;
    }
    case SOLID:
    default: {
        pdfContentByte.setLineDash(0f);
        break;
    }
    }
}

From source file:Controleur.CtrlImprimerOrdonnance.java

public void RemplirOrdonnance() {
    ResultSet res;/*w ww  .j  a  va 2s . c  o m*/
    String nomEtablissement = "";
    String adresseEtablissement = "";
    int telEtablissement = 0;
    String nomPatient = "";
    String prenomPatient = "";
    String dateNaissPatient = null;
    String traitement = "";
    Etablissement etab = new Etablissement();
    try {
        res = etab.getEtablissement();
        nomEtablissement = res.getString("nomEtab");
        adresseEtablissement = res.getString("adresseEtab");
        telEtablissement = res.getInt("telEtab");
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, "erreur \n" + e.getMessage());
    }
    Medecin med1 = new Medecin();
    Medecin med2 = med1.getMedecinById(Fen.getIdm());
    String nomMedecin = med2.getNomMedecin();
    String prenomMedecin = med2.getPrenomMedecin();
    String specialiteMedecin = med2.getSpecialite();
    Patient patient = new Patient();
    res = patient.getPatient(Fen.getIdp());
    try {
        res.next();
        nomPatient = res.getString("nomPatient");
        prenomPatient = res.getString("prenomPatient");
        dateNaissPatient = res.getString("dateNaissance");
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, "erreur \n" + e.getMessage());
    }

    traitement = Fen.getTxtTraitement().getText();

    Document document = new Document(PageSize.A4);
    try {
        PdfWriter.getInstance(document, new FileOutputStream("./ordonnance.pdf"));
        document.open();
        Date d = new Date();
        Paragraph paragraph = new Paragraph(d.toLocaleString(),
                FontFactory.getFont(FontFactory.COURIER, 20, Font.BOLD));
        paragraph.setAlignment(Element.ALIGN_RIGHT);
        paragraph.setIndentationRight(50f);
        document.add(paragraph);
        paragraph = new Paragraph("Dr " + nomMedecin + " " + prenomMedecin,
                FontFactory.getFont(FontFactory.COURIER, 20, Font.BOLD));
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);
        paragraph = new Paragraph("SPECIALISTE EN " + specialiteMedecin);
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);
        paragraph = new Paragraph(nomEtablissement);
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);
        paragraph = new Paragraph(adresseEtablissement);
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);
        paragraph = new Paragraph("Tl : " + telEtablissement);
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);
        paragraph = new Paragraph("                      ");
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);
        paragraph = new Paragraph("nom & prenom :" + nomPatient + " " + prenomPatient,
                FontFactory.getFont(FontFactory.COURIER, 20, Font.BOLD));
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);
        paragraph = new Paragraph("Ne(e) le :" + dateNaissPatient);
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);
        paragraph = new Paragraph("                       ");
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);

        Chunk chunk = new Chunk("Ordonnance", FontFactory.getFont(FontFactory.COURIER, 30, Font.BOLD));
        chunk.setUnderline(Color.BLACK, 3.0f, 0.0f, 0.0f, -0.2f, PdfContentByte.LINE_CAP_BUTT);
        paragraph = new Paragraph();
        paragraph.setAlignment(Element.ALIGN_CENTER);
        paragraph.add(chunk);
        document.add(paragraph);

        paragraph = new Paragraph("                       ");
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);
        paragraph = new Paragraph(traitement);
        paragraph.setIndentationLeft(50f);
        document.add(paragraph);

        Runtime r = Runtime.getRuntime();
        r.exec("cmd /C ./ordonnance.pdf");
    } catch (DocumentException de) {
        de.printStackTrace();
    } catch (IOException ioe) {
        ioe.printStackTrace();
    }
    document.close();
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporter.java

License:LGPL

/**
 *
 *///  w ww .  j  a v a2 s .c  om
protected void exportLine(JRPrintLine line) {
    float lineWidth = line.getLinePen().getLineWidth().floatValue();
    if (lineWidth > 0f) {
        preparePen(pdfContentByte, line.getLinePen(), PdfContentByte.LINE_CAP_BUTT);

        if (line.getWidth() == 1) {
            if (line.getHeight() == 1) {
                //Nothing to draw
            } else {
                //Vertical line
                if (line.getLinePen().getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f - lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f - lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());

                    pdfContentByte.stroke();

                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f + lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f + lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                } else {
                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                }
            }
        } else {
            if (line.getHeight() == 1) {
                //Horizontal line
                if (line.getLinePen().getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f + lineWidth / 3);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f + lineWidth / 3);

                    pdfContentByte.stroke();

                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f - lineWidth / 3);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f - lineWidth / 3);
                } else {
                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f);
                }
            } else {
                //Oblique line
                if (line.getDirection() == JRLine.DIRECTION_TOP_DOWN) {
                    if (line.getLinePen().getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
                        double xtrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getWidth(), 2) / Math.pow(line.getHeight(), 2)));
                        double ytrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getHeight(), 2) / Math.pow(line.getWidth(), 2)));

                        pdfContentByte.moveTo(line.getX() + getOffsetX() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() + (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        + (float) ytrans);

                        pdfContentByte.stroke();

                        pdfContentByte.moveTo(line.getX() + getOffsetX() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        - (float) ytrans);
                    } else {
                        pdfContentByte.moveTo(line.getX() + getOffsetX(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                    }
                } else {
                    if (line.getLinePen().getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
                        double xtrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getWidth(), 2) / Math.pow(line.getHeight(), 2)));
                        double ytrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getHeight(), 2) / Math.pow(line.getWidth(), 2)));

                        pdfContentByte.moveTo(line.getX() + getOffsetX() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        - (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - (float) ytrans);

                        pdfContentByte.stroke();

                        pdfContentByte.moveTo(line.getX() + getOffsetX() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        + (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() + (float) ytrans);
                    } else {
                        pdfContentByte.moveTo(line.getX() + getOffsetX(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    }
                }
            }
        }

        pdfContentByte.stroke();

        pdfContentByte.setLineDash(0f);
        pdfContentByte.setLineCap(PdfContentByte.LINE_CAP_PROJECTING_SQUARE);
    }
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporter.java

License:LGPL

/**
 *
 *///from   w w  w  .  j a  v a 2 s.  c o m
protected void exportTopPen(JRPen topPen, JRPen leftPen, JRPen rightPen, JRPrintElement element) {
    if (topPen.getLineWidth().floatValue() > 0f) {
        float leftOffset = leftPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(leftPen);
        float rightOffset = rightPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(rightPen);

        preparePen(pdfContentByte, topPen, PdfContentByte.LINE_CAP_BUTT);

        if (topPen.getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
            float topOffset = topPen.getLineWidth().floatValue();

            pdfContentByte.moveTo(element.getX() + getOffsetX() - leftOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() + topOffset / 3);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() + rightOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() + topOffset / 3);
            pdfContentByte.stroke();

            pdfContentByte.moveTo(element.getX() + getOffsetX() + leftOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset / 3);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() - rightOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset / 3);
            pdfContentByte.stroke();
        } else {
            float topOffset = BorderOffset.getOffset(topPen);
            pdfContentByte.moveTo(element.getX() + getOffsetX() - leftOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + element.getWidth() + rightOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset);
            pdfContentByte.stroke();
        }
    }
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporter.java

License:LGPL

/**
 *
 *//*from  w  w w  .  ja  va  2 s. c  om*/
protected void exportLeftPen(JRPen topPen, JRPen leftPen, JRPen bottomPen, JRPrintElement element) {
    if (leftPen.getLineWidth().floatValue() > 0f) {
        float topOffset = topPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(topPen);
        float bottomOffset = bottomPen.getLineWidth().floatValue() / 2 - BorderOffset.getOffset(bottomPen);

        preparePen(pdfContentByte, leftPen, PdfContentByte.LINE_CAP_BUTT);

        if (leftPen.getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
            float leftOffset = leftPen.getLineWidth().floatValue();

            pdfContentByte.moveTo(element.getX() + getOffsetX() - leftOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() + topOffset);
            pdfContentByte.lineTo(element.getX() + getOffsetX() - leftOffset / 3, jasperPrint.getPageHeight()
                    - element.getY() - getOffsetY() - element.getHeight() - bottomOffset);
            pdfContentByte.stroke();

            pdfContentByte.moveTo(element.getX() + getOffsetX() + leftOffset / 3,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() - topOffset / 3);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + leftOffset / 3, jasperPrint.getPageHeight()
                    - element.getY() - getOffsetY() - element.getHeight() + bottomOffset / 3);
            pdfContentByte.stroke();
        } else {
            float leftOffset = BorderOffset.getOffset(leftPen);
            pdfContentByte.moveTo(element.getX() + getOffsetX() + leftOffset,
                    jasperPrint.getPageHeight() - element.getY() - getOffsetY() + topOffset);
            pdfContentByte.lineTo(element.getX() + getOffsetX() + leftOffset, jasperPrint.getPageHeight()
                    - element.getY() - getOffsetY() - element.getHeight() - bottomOffset);
            pdfContentByte.stroke();
        }
    }
}