Example usage for org.apache.pdfbox.pdmodel.font PDType1Font COURIER_BOLD

List of usage examples for org.apache.pdfbox.pdmodel.font PDType1Font COURIER_BOLD

Introduction

In this page you can find the example usage for org.apache.pdfbox.pdmodel.font PDType1Font COURIER_BOLD.

Prototype

PDType1Font COURIER_BOLD

To view the source code for org.apache.pdfbox.pdmodel.font PDType1Font COURIER_BOLD.

Click Source Link

Usage

From source file:barcode.printer.view.PrintForm.java

License:Apache License

public void buttonPrintAction() {
    if (listModel.isEmpty()) {
        return;/*w  w w  .  jav a 2 s .c om*/
    }
    try (PDDocument document = new PDDocument()) {

        PDPage page = new PDPage();

        document.addPage(page);

        PDFont font = PDType1Font.COURIER_BOLD;

        float fontSize = 10f;
        float fontWidth = font.getStringWidth("W") / 1000 * fontSize;
        float fontHeight = font.getFontDescriptor().getFontBoundingBox().getHeight() / 1000 * fontSize;
        float startXOrigin = fontWidth * 0.3f;
        float startYOrigin = page.findMediaBox().getUpperRightY();
        float startX = startXOrigin;
        float startY;

        try (PDPageContentStream cs = new PDPageContentStream(document, page)) {

            int bcWidth = 80;
            int bcHeight = 20;

            int row = 1;

            for (int idx = 0; idx < listModel.getSize(); idx++) {
                BitMatrix bitMatrix;
                String strBarCode = listModel.get(idx);
                switch (comboCode.getSelectedIndex()) {
                case 0:
                    bitMatrix = new CodaBarWriter().encode(strBarCode, BarcodeFormat.CODABAR, bcWidth,
                            bcHeight);
                    break;
                case 1:
                    bitMatrix = new Code128Writer().encode(strBarCode, BarcodeFormat.CODE_128, bcWidth,
                            bcHeight);
                    break;
                case 2:
                    bitMatrix = new Code39Writer().encode(strBarCode, BarcodeFormat.CODE_39, bcWidth, bcHeight);
                    break;
                case 3:
                    bitMatrix = new EAN13Writer().encode(strBarCode, BarcodeFormat.EAN_13, bcWidth, bcHeight);
                    break;
                case 4:
                    bitMatrix = new EAN8Writer().encode(strBarCode, BarcodeFormat.EAN_8, bcWidth, bcHeight);
                    break;
                case 5:
                    bitMatrix = new ITFWriter().encode(strBarCode, BarcodeFormat.ITF, bcWidth, bcHeight);
                    break;
                default:
                    bitMatrix = new CodaBarWriter().encode(strBarCode, BarcodeFormat.CODABAR, bcWidth,
                            bcHeight);
                    break;
                }

                BufferedImage bufferedImage = MatrixToImageWriter.toBufferedImage(bitMatrix);
                PDXObjectImage pdxoi = new PDJpeg(document, bufferedImage);

                startY = startYOrigin - (bitMatrix.getHeight() * row * 1.6f);
                row++;

                cs.beginText();
                cs.setFont(font, fontSize);
                cs.moveTextPositionByAmount(startX + fontWidth, startY + fontHeight);
                cs.drawString(strBarCode);
                cs.endText();
                cs.drawImage(pdxoi, startX, startY - fontHeight);
            }

        }

        document.silentPrint();

        listModel.clear();
        buttonDelete.setEnabled(false);

    } catch (Exception ex) {
        JOptionPane.showMessageDialog(null, ex.getMessage());
        LOGGER.log(Level.SEVERE, null, ex);
    }

}

From source file:com.baseprogramming.pdwriter.html.HtmlStyle.java

License:Apache License

private void createFontMap() {
    fontMap = new HashMap<>();
    fontMap.put("TIMES NEW ROMAN", PDType1Font.TIMES_ROMAN);
    fontMap.put("TIMES NEW ROMAN_BOLD", PDType1Font.TIMES_BOLD);
    fontMap.put("TIMES NEW ROMAN_ITALIC", PDType1Font.TIMES_ITALIC);
    fontMap.put("TIMES NEW ROMAN_OBLIQUE", PDType1Font.TIMES_ITALIC);
    fontMap.put("TIMES NEW ROMAN_BOLD_ITALIC", PDType1Font.TIMES_BOLD_ITALIC);

    fontMap.put("COURIER", PDType1Font.COURIER);
    fontMap.put("COURIER_BOLD", PDType1Font.COURIER_BOLD);
    fontMap.put("COURIER_ITALIC", PDType1Font.COURIER_OBLIQUE);
    fontMap.put("COURIER_OBLIQUE", PDType1Font.COURIER_OBLIQUE);
    fontMap.put("COURIER_BOLD_ITALIC", PDType1Font.COURIER_BOLD_OBLIQUE);

    fontMap.put("HELVATICA", PDType1Font.TIMES_ROMAN);
    fontMap.put("HELVATICA_ITALIC", PDType1Font.HELVETICA_BOLD);
    fontMap.put("HELVATICA_OBLIQUE", PDType1Font.HELVETICA_BOLD);
    fontMap.put("HELVATICA_BOLD_ITALIC", PDType1Font.HELVETICA_OBLIQUE);
    fontMap.put("HELVATICA_BOLD_ITALIC", PDType1Font.HELVETICA_BOLD_OBLIQUE);
}

From source file:com.github.gujou.deerbelling.sonarqube.service.PdfApplicationGenerator.java

License:Open Source License

private static void attribute(PDImageXObject logo, int logoHeight, int logoWidth, String value, String label,
        PDFont font, int fontSize, PDDocument doc, String index, boolean isPercent, Color color)
        throws IOException {

    int dataFontSize = (int) (fontSize * 1.5f);
    int labelFontSize = fontSize;

    float logoYCoordinate = page.getMediaBox().getHeight() - positionHeight - logoHeight;
    float textWidth = (font.getStringWidth(value) / 1000 * dataFontSize)
            + (font.getStringWidth(label) / 1000 * labelFontSize);
    float textHeight = font.getFontDescriptor().getFontBoundingBox().getHeight() / 1000 * dataFontSize;
    float textYCoordinate = page.getMediaBox().getHeight() - positionHeight - (logoHeight / 2)
            - (textHeight / 2);/* w ww  .j  a v a2 s  .com*/
    float dataXCoordinate = positionLogoWidth + logoHeight + DEFAULT_SPACE_WIDTH;

    positionHeight += spaceHeight + ((logoHeight < textHeight) ? textHeight : logoHeight);

    if (positionHeight >= page.getMediaBox().getHeight()) {
        if (positionLogoWidth > DEFAULT_ICON_MARGIN_WIDTH) {
            initNewPage(doc);
            attribute(logo, logoHeight, logoWidth, value, label, font, labelFontSize, doc, index, isPercent,
                    color);
        } else {
            writeToRight();
            attribute(logo, logoHeight, logoWidth, value, label, font, labelFontSize, doc, index, isPercent,
                    color);
        }
    }

    else {

        PDPageContentStream stream = new PDPageContentStream(doc, page, AppendMode.APPEND, false);
        try {
            stream.drawImage(logo, positionLogoWidth, logoYCoordinate, logoWidth, logoHeight);
            stream.beginText();
            stream.setFont(font, dataFontSize);
            stream.setNonStrokingColor(color);
            stream.newLineAtOffset(dataXCoordinate, textYCoordinate + 6);
            stream.showText(value);
            stream.setNonStrokingColor(DEFAULT_TEXT_COLOR);
            stream.setFont(font, labelFontSize);
            stream.showText(label);

            if (index != null) {
                stream.newLineAtOffset(textWidth, (int) (labelFontSize * 0.3));
                stream.setFont(PDType1Font.COURIER_BOLD, (int) (labelFontSize * 0.8));
                stream.showText("(");
                stream.setNonStrokingColor(color);
                stream.showText(index);
                if (isPercent) {
                    stream.showText("%");
                }
                stream.setNonStrokingColor(DEFAULT_TEXT_COLOR);
                stream.showText(")");
            }
        } finally {
            stream.endText();
            stream.close();
        }

    }
}

From source file:gamma.cvd.calculator.print.CVDPrint.java

private PDDocument createPdfDocument(CVDPatient patient) throws IOException {
    PDDocument document = new PDDocument();
    List<PDPage> pageList = new ArrayList<>();
    PDPage page1 = new PDPage(PDPage.PAGE_SIZE_A4);
    pageList.add(page1);//from w ww . ja va2 s  .  co m
    PDRectangle rect = pageList.get(0).getMediaBox();
    document.addPage(pageList.get(0));
    PDFont fontHelveticaBold = PDType1Font.HELVETICA_BOLD;
    PDFont fontCourier = PDType1Font.COURIER;
    PDFont fontCourierBold = PDType1Font.COURIER_BOLD;
    PDPageContentStream contentStream = new PDPageContentStream(document, pageList.get(0));
    line = 0;
    contentStream.beginText();
    contentStream.setFont(fontHelveticaBold, 18);
    contentStream.moveTextPositionByAmount(leftMargin, rect.getHeight() - initialLineSpace);
    contentStream.drawString("Test record for " + patient.getFirstName() + " " + patient.getLastName());
    contentStream.endText();

    contentStream.setFont(fontCourier, 12);
    writeLine("Patient no.:", String.valueOf(patient.getPatientId()), contentStream,
            rect.getHeight() - patientLineSpace);

    writeLine("First name:", patient.getFirstName(), contentStream, rect.getHeight() - patientLineSpace);

    writeLine("Last name:", patient.getLastName(), contentStream, rect.getHeight() - patientLineSpace);

    writeLine("Date of birth:", patient.getBirthdate().toString(), contentStream,
            rect.getHeight() - patientLineSpace);

    writeLine("Sex:", String.valueOf(patient.getSex()), contentStream, rect.getHeight() - patientLineSpace);
    int n = 0;
    for (CVDRiskData data : patient.getRiskData()) {
        if (n > 0 && n % 3 == 0) {
            contentStream.close();
            PDPage page = new PDPage(PDPage.PAGE_SIZE_A4);
            pageList.add(page);
            document.addPage(pageList.get(n / 3));
            contentStream = new PDPageContentStream(document, pageList.get(n / 3));
            line = 0;
            contentStream.beginText();
            contentStream.setFont(fontHelveticaBold, 18);
            contentStream.moveTextPositionByAmount(leftMargin, rect.getHeight() - initialLineSpace);
            contentStream.drawString("Test record for " + patient.getFirstName() + " " + patient.getLastName()
                    + ", page " + ((n / 3) + 1));
            contentStream.endText();
        }
        contentStream.beginText();
        contentStream.moveTextPositionByAmount(leftMargin,
                rect.getHeight() - testDataLineSpace - lineSpace * ++line);
        contentStream.endText();

        contentStream.setFont(fontCourierBold, 12);
        writeLine("Test ID:", String.valueOf(data.getTestId()), contentStream,
                rect.getHeight() - testDataLineSpace);

        contentStream.setFont(fontCourier, 12);
        writeLine("Test date:", data.getTestDate().toString(), contentStream,
                rect.getHeight() - testDataLineSpace);

        writeLine("Cholesterol type:", data.getCholesterolType(), contentStream,
                rect.getHeight() - testDataLineSpace);

        writeLine("Cholesterol mmol/L:", String.format("%.2f", data.getCholesterolMmolL()), contentStream,
                rect.getHeight() - testDataLineSpace);

        writeLine("HDL mmol/L:", String.format("%.2f", data.getHdlMmolL()), contentStream,
                rect.getHeight() - testDataLineSpace);

        writeLine("Diastolic blood pressure:", String.valueOf(data.getBloodPressureDiastolicMmHg()),
                contentStream, rect.getHeight() - testDataLineSpace);

        writeLine("Systolic blood pressure:", String.valueOf(data.getBloodPressureSystolicMmHg()),
                contentStream, rect.getHeight() - testDataLineSpace);

        if (data.isSmoker()) {
            writeLine("Patient is smoker:", "Yes", contentStream, rect.getHeight() - testDataLineSpace);
        } else {
            writeLine("Patient is smoker:", "No", contentStream, rect.getHeight() - testDataLineSpace);
        }

        if (data.isDiabetic()) {
            writeLine("Patient is diabetic:", "Yes", contentStream, rect.getHeight() - testDataLineSpace);
        } else {
            writeLine("Patient is diabetic:", "No", contentStream, rect.getHeight() - testDataLineSpace);
        }

        int score = data.calculateRiskScore();
        writeLine("Risk score:", String.valueOf(score), contentStream, rect.getHeight() - testDataLineSpace);

        int riskPercentage = data.getRiskPercentage(score);
        writeLine("Risk percentage:", new StringBuilder().append(riskPercentage).append(" %").toString(),
                contentStream, rect.getHeight() - testDataLineSpace);
        n++;
    }
    contentStream.close();
    return document;
}

From source file:javaexample.StandardFontsDemoPdf.java

License:Open Source License

private void drawFontFeature(String featureName, Object featureValue) throws IOException {
    // Draws feature name.
    cos.setFont(PDType1Font.COURIER_BOLD, 8);
    cos.setNonStrokingColor(Color.BLACK);
    drawText(featureName, x, y);//from ww  w .ja  v  a  2s .  co  m

    cos.setFont(PDType1Font.COURIER, 8);
    drawText("=", x + mm2pt(28), y);

    // Detects feature value type to set text and color.
    String text;
    Color color;

    if (featureValue == null) {
        text = "null";
        color = NULL_COLOR;
    } else if (featureValue instanceof Number) {
        text = String.valueOf(featureValue);
        color = NUMBER_COLOR;
    } else if (featureValue instanceof String) {
        text = "\"" + featureValue + "\"";
        color = STRING_COLOR;
    } else if (featureValue instanceof Boolean) {
        text = String.valueOf(featureValue);
        color = BOOLEAN_COLOR;
    } else {
        text = String.valueOf(featureValue);
        color = OTHER_COLOR;
    }

    // Draws feature value.
    cos.setNonStrokingColor(color);
    drawText(text, x + mm2pt(31), y);

    y -= 12;
}

From source file:johnbrooksupgrade.PDFService.java

private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
    Salesman = txtNewUser.getText().isEmpty() ? cmbSalesPerson.getSelectedItem().toString()
            : txtNewUser.getText();//from  ww w.  j a  v a  2s  . c  o m
    Date = DateInput.getText();
    String ClientName = ClientnameInput.getText();
    String ProjectName = ProjectNameInput.getText();

    if (Branch == null) {
        JOptionPane.showMessageDialog(null, "Please Select a branch and try again.", "Error",
                JOptionPane.ERROR_MESSAGE);
    } else {
        /*** 
         * This is the logic that prints the information to a PDF 
         ***/

        //We want to save the file to Windows' temporary files folder so it can be loaded from there straight away
        //This temporary file is deleted when the program is exited
        File myfile = new File("C:\\Windows\\Temp\\ConveyorFile.pdf");

        //creates a new pdf
        if ((myfile) != null) {
            try {
                PDDocument doc;
                PDPage page;

                doc = new PDDocument();

                // Create a new blank page and add it to the document
                page = new PDPage();
                doc.addPage(page);
                PDFont font = PDType1Font.COURIER_BOLD;
                PDPageContentStream content = new PDPageContentStream(doc, page);
                content.beginText();
                content.setFont(font, 30);

                // creates a new page and gives it formatting of text
                content.moveTextPositionByAmount(110, 600);
                content.drawString("Technical Specifications ");
                PDFont font2 = PDType1Font.COURIER;
                content.setFont(font, 14);
                content.moveTextPositionByAmount(-50, -65);
                content.drawString("Date:" + Date);
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Sales person: " + Salesman);
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Client Name: " + ClientName);
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Project Name: " + ProjectName);
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Branch: " + Branch);
                content.moveTextPositionByAmount(0, -32);

                // Specifications    
                content.setFont(PDType1Font.COURIER_BOLD, 20);
                content.drawString("Specifications");
                content.moveTextPositionByAmount(0, -10);
                content.setFont(font, 14);
                content.moveTextPositionByAmount(10, -14);
                content.drawString("Speed of Belt M/pm: " + mainDataEntry.Speedofbeltanswer29f);
                content.moveTextPositionByAmount(0, -14);
                content.drawString(
                        "Drum/Sprocket  Mtrs: " + String.format("%.2f", mainDataEntry.Drumdiameterinput1));
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Metres per minute: " + mainDataEntry.getMetresperminuteanswer4f());
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Metres per hour: " + mainDataEntry.getMetresperhouranswer5f());
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Product per hour: " + mainDataEntry.getLengthperhouranswer7f());
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Kg's per hour: " + mainDataEntry.getKgsperhouranswer9f());
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Kg at any given time: " + mainDataEntry.getKgatanygiventimeanswer10f());
                content.moveTextPositionByAmount(-10, -28);

                // Results
                content.setFont(PDType1Font.COURIER_BOLD, 20);
                content.drawString("Results");
                content.moveTextPositionByAmount(0, -10);
                content.setFont(font, 14);
                content.moveTextPositionByAmount(10, -14);
                content.drawString("RPM: " + String.format("%.2f", mainDataEntry.getRpmconveyor34()));
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Application Factor: " + mainDataEntry.getRadiananswer25f());
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Pull Force Kg/f: " + mainDataEntry.PullForce);
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Nm Torque: " + mainDataEntry.getNmanswer15f());
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Service Factor: " + mainDataEntry.getServicefactor17f());
                content.moveTextPositionByAmount(0, -14);
                content.drawString("Design Kw: " + mainDataEntry.getDesignkwanswer18f());
                content.moveTextPositionByAmount(-10, -28);

                // Gearbox recommendations 

                // only bother with section if the gearbox details aren't empty
                if (!mainDataEntry.GearboxDetailsForPDF.isEmpty()) {
                    content.setFont(PDType1Font.COURIER_BOLD, 20);
                    content.drawString("Gearbox/Motor Recommendations");
                    content.moveTextPositionByAmount(2, -25);
                    content.setFont(PDType1Font.COURIER_BOLD, 18);
                    content.drawString(mainDataEntry.GearboxType + ":");
                    content.setFont(font, 14);
                    content.moveTextPositionByAmount(10, -25);

                    String[] display;

                    // For the brooks cyclo we need to split the string by these values
                    // then write each index of the resulting array separately so the
                    // result doesn't just run off the page
                    display = mainDataEntry.GearboxDetailsForPDF.get(0).split("Ratio: |Overload ");

                    // Only need to do this when the string has been split out by Ratio or Overload
                    // i.e. this is only the case for brooks cyclo, the other two types fit the page fine
                    if (display.length > 1) {
                        display[1] = "Ratio: " + display[1];
                        content.drawString(display[0]);
                        content.moveTextPositionByAmount(0, -14);
                        content.drawString(display[1]);

                        if (display.length > 2) {
                            display[2] = "Overload " + display[2];
                            content.moveTextPositionByAmount(0, -14);
                            content.drawString(display[2]);
                        }
                    } else {
                        // first option must exist for the program to get this far
                        content.drawString(mainDataEntry.GearboxDetailsForPDF.get(0));
                    }

                    content.moveTextPositionByAmount(0, -14);

                    // only bother with the second option if it exists
                    if (mainDataEntry.GearboxDetailsForPDF.size() > 1) {
                        display = mainDataEntry.GearboxDetailsForPDF.get(1).split("Ratio: |Overload ");

                        if (display.length > 1) {
                            content.moveTextPositionByAmount(0, -15);
                            display[1] = "Ratio: " + display[1];
                            content.drawString(display[0]);
                            content.moveTextPositionByAmount(0, -14);
                            content.drawString(display[1]);

                            if (display.length > 2) {
                                display[2] = "Overload " + display[2];
                                content.moveTextPositionByAmount(0, -14);
                                content.drawString(display[2]);
                            }
                        } else {
                            content.moveTextPositionByAmount(0, -14);
                            content.drawString(mainDataEntry.GearboxDetailsForPDF.get(1));
                        }
                    }
                }

                content.endText();

                image2 = ImageIO.read(new File("logosmall.jpg"));
                BufferedImage logo = image2;
                // writes the image to the file

                PDXObjectImage jblogo = new PDPixelMap(doc, logo);

                content.drawImage(jblogo, 20, 650);
                //postions image
                content.close();
                doc.getDocument();
                doc.save(myfile.getAbsolutePath());

                // open the file 
                Desktop.getDesktop().open(myfile);

                doc.close();
                close();
                //saves pdf and closes it
            } catch (IOException | COSVisitorException ie) {
                JOptionPane.showMessageDialog(null, ie.getMessage(), "Error!", JOptionPane.INFORMATION_MESSAGE);
            }
        }
    }
}

From source file:org.fit.cssbox.render.PDFRenderer.java

License:Open Source License

private PDFont tryBuiltinFallback(String fontFamily, boolean isItalic, boolean isBold) {
    PDFont font;/*from   w w w.  jav  a  2s  .c  om*/

    fontFamily = fontFamily.toLowerCase();
    switch (fontFamily) {
    case "courier":
    case "courier new":
    case "lucida console":
        if (isBold && isItalic) {
            font = PDType1Font.COURIER_BOLD_OBLIQUE;
        } else if (isBold) {
            font = PDType1Font.COURIER_BOLD;
        } else if (isItalic) {
            font = PDType1Font.COURIER_OBLIQUE;
        } else {
            font = PDType1Font.COURIER;
        }
        break;
    case "times":
    case "garamond":
    case "georgia":
    case "times new roman":
    case "serif":
        if (isBold && isItalic) {
            font = PDType1Font.TIMES_BOLD_ITALIC;
        } else if (isBold) {
            font = PDType1Font.TIMES_BOLD;
        } else if (isItalic) {
            font = PDType1Font.TIMES_ITALIC;
        } else {
            font = PDType1Font.TIMES_ROMAN;
        }
        break;
    default:
        if (isBold && isItalic) {
            font = PDType1Font.HELVETICA_BOLD_OBLIQUE;
        } else if (isBold) {
            font = PDType1Font.HELVETICA_BOLD;
        } else if (isItalic) {
            font = PDType1Font.HELVETICA_OBLIQUE;
        } else {
            font = PDType1Font.HELVETICA;
        }
        break;
    }
    return font;
}

From source file:org.sejda.impl.pdfbox.util.FontUtilsTest.java

License:Apache License

@Test
public void testGetStandardType1Fontg() {
    assertEquals(PDType1Font.COURIER, FontUtils.getStandardType1Font(StandardType1Font.CURIER));
    assertEquals(PDType1Font.COURIER_BOLD, FontUtils.getStandardType1Font(StandardType1Font.CURIER_BOLD));
    assertEquals(PDType1Font.COURIER_BOLD_OBLIQUE,
            FontUtils.getStandardType1Font(StandardType1Font.CURIER_BOLD_OBLIQUE));
    assertEquals(PDType1Font.COURIER_OBLIQUE, FontUtils.getStandardType1Font(StandardType1Font.CURIER_OBLIQUE));
    assertEquals(PDType1Font.HELVETICA, FontUtils.getStandardType1Font(StandardType1Font.HELVETICA));
    assertEquals(PDType1Font.HELVETICA_BOLD, FontUtils.getStandardType1Font(StandardType1Font.HELVETICA_BOLD));
    assertEquals(PDType1Font.HELVETICA_BOLD_OBLIQUE,
            FontUtils.getStandardType1Font(StandardType1Font.HELVETICA_BOLD_OBLIQUE));
    assertEquals(PDType1Font.HELVETICA_OBLIQUE,
            FontUtils.getStandardType1Font(StandardType1Font.HELVETICA_OBLIQUE));
    assertEquals(PDType1Font.TIMES_BOLD, FontUtils.getStandardType1Font(StandardType1Font.TIMES_BOLD));
    assertEquals(PDType1Font.TIMES_BOLD_ITALIC,
            FontUtils.getStandardType1Font(StandardType1Font.TIMES_BOLD_ITALIC));
    assertEquals(PDType1Font.TIMES_ITALIC, FontUtils.getStandardType1Font(StandardType1Font.TIMES_ITALIC));
    assertEquals(PDType1Font.TIMES_ROMAN, FontUtils.getStandardType1Font(StandardType1Font.TIMES_ROMAN));
    assertEquals(PDType1Font.SYMBOL, FontUtils.getStandardType1Font(StandardType1Font.SYMBOL));
    assertEquals(PDType1Font.ZAPF_DINGBATS, FontUtils.getStandardType1Font(StandardType1Font.ZAPFDINGBATS));
}

From source file:src.view.controller.ViewTextAreaController.java

public void fillComboBoxTailleAndPolice() {
    for (int i = 5; i < 51; i++) {
        comboBoxTailleTextArea.getItems().add(i);
    }//from   ww  w  . j  a va2s. c  o m

    comboBoxPoliceTextArea.getItems().addAll(PDType1Font.COURIER, PDType1Font.COURIER_BOLD,
            PDType1Font.COURIER_BOLD_OBLIQUE, PDType1Font.COURIER_OBLIQUE, PDType1Font.HELVETICA,
            PDType1Font.HELVETICA_BOLD, PDType1Font.HELVETICA_BOLD_OBLIQUE, PDType1Font.HELVETICA_OBLIQUE,
            PDType1Font.SYMBOL, PDType1Font.TIMES_BOLD, PDType1Font.TIMES_BOLD_ITALIC, PDType1Font.TIMES_ROMAN,
            PDType1Font.ZAPF_DINGBATS);

    comboBoxTailleTextArea.getSelectionModel().select(7);
    comboBoxPoliceTextArea.getSelectionModel().select(0);
}

From source file:stepReport.reports.model.savePDFModel.java

public void savePDFSemanal(File file, String[][] matrizDados) {

    if (matrizDados == null)
        return;// w  w w.  ja  v  a  2 s  .  c  o m

    //Cria o documento
    PDDocument document = new PDDocument();

    //Vou criando as paginas dinamicamente de acordo com o numero de registros a serem impressos.
    //Para cada 25 registros, crio uma nova pagina
    //O valor de k vai ser atualizado durante o loop de impressao de registros,
    //assim como o loop de impressao de registro comeca a partir do valor de k
    int k = 1;
    int pagina = 0;
    while (k < matrizDados.length) {
        //Variavel com o numero da pagina
        pagina++;
        //Adiciona uma pagina
        PDPage page = new PDPage();
        //Configura o padrao de tamanho da pagina
        page.setMediaBox(PDRectangle.A4);
        //Configura a orientacao
        page.setRotation(90);
        //Adiciona a pagina ao documento
        document.addPage(page);
        PDFont font;
        //Obtem a largura da pagina
        float pageWidth = page.getMediaBox().getWidth();

        try {
            //abre o buffer pra edicao da pagina
            PDPageContentStream contentStream = new PDPageContentStream(document, page);
            //Gira a pagina em 90 graus
            contentStream.transform(new Matrix(0, 1, -1, 0, pageWidth, 0));

            PDImageXObject pdImage = PDImageXObject.createFromFile("./step2.png", document);

            contentStream.drawImage(pdImage, 30, 520);

            //Define a cor da letra
            contentStream.setNonStrokingColor(Color.BLACK);
            //Abre pra edicao escrita
            contentStream.beginText();

            //Configura a fonte de titulo e o tamanho no buffer
            font = PDType1Font.COURIER_BOLD;
            contentStream.setFont(font, 18);
            contentStream.setLeading(14.5f);

            contentStream.newLineAtOffset(250, 530);
            contentStream.showText("Resumo de Horas semanais");

            //Imprime o numero da pagina
            font = PDType1Font.COURIER;
            contentStream.setFont(font, 12);

            contentStream.newLineAtOffset(490, 0);
            contentStream.showText("Pag " + Integer.toString(pagina));

            //Define o ponto de partida em X e Y
            contentStream.newLineAtOffset(-700, -50);
            //Define a fonte do cabecalho
            font = PDType1Font.COURIER_BOLD;
            contentStream.setFont(font, 12);
            //carrega o cabecalho com nome, profissao, itera pra cada data da semana e depois o total
            String titulo = StringUtils.rightPad("Nome", 20) + StringUtils.rightPad("Profissao", 16);
            for (int i = 2; i < matrizDados[0].length; i++)
                titulo += matrizDados[0][i] + "  ";

            //Escreve o cabecalho
            contentStream.showText(titulo);
            //Troca a fonte pra normal
            font = PDType1Font.COURIER;
            contentStream.setFont(font, 12);
            //TODO criar loop duplo para criar pagina e depois imprimir o dado enquanto houver dados a serem impressos
            contentStream.newLine();

            //Para cada linha da matriz recebida, vou formatar os campos nome, profissao, cada data da semana e o total pra imprimir na linha
            //Tenho que comecar a partir de k porque pode nao ser a primeira pagina. 

            //Configuro o limite baseado se eu estou ou nao na ultima pagina
            int limite = (k + savePDFModel.REGISTROS_PAGINA < matrizDados.length - 1)
                    ? savePDFModel.REGISTROS_PAGINA
                    : matrizDados.length - k;

            for (int i = 0; i < limite; i++) {
                String nome = this.formatName(matrizDados[i + k][0]);
                String profissao = this.formatProfissao(matrizDados[i + k][1]);
                String linha = nome + profissao;
                for (int j = 2; j < matrizDados[i].length; j++)
                    linha += StringUtils.rightPad(matrizDados[i + k][j], 10);

                contentStream.showText(linha);
                contentStream.newLine();
            }
            k += limite;

            //Imprime o total em negrito quando chega no final
            System.out.println(k);
            if (k >= matrizDados.length) {
                font = PDType1Font.COURIER_BOLD;
                contentStream.setFont(font, 12);
                Double[] totais = new Double[matrizDados[0].length - 2];
                for (int i = 0; i < totais.length; i++)
                    totais[i] = 0.0;

                for (int i = 1; i < matrizDados.length; i++) {
                    for (int j = 2; j < matrizDados[i].length; j++) {
                        if (!matrizDados[i][j].equals(""))
                            totais[j - 2] += Double.parseDouble(matrizDados[i][j]);
                    }
                }
                String linhaTot = StringUtils.rightPad("Totais", 36);
                for (int i = 0; i < totais.length; i++) {
                    linhaTot += StringUtils.rightPad(totais[i].toString(), 10);
                }
                contentStream.showText(linhaTot);
                //Imprime a linha de assinatura
                this.signatureLine(contentStream);
            }
            contentStream.endText();
            contentStream.close();

        } catch (javax.imageio.IIOException ex) {
            JOptionPane.showMessageDialog(new JFrame(), "Imagem step2.png no encontrada");
            return;
        } catch (IOException ex) {
            Logger.getLogger(savePDFModel.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    try {
        //Esse save vai dentro do loop?
        document.save(file);
        document.close();
    } catch (IOException ex) {
        Logger.getLogger(savePDFModel.class.getName()).log(Level.SEVERE, null, ex);
    }
}