protected void printPatientCard(AdminPerson person) {
    try {
      table = new PdfPTable(1000);
      table.setWidthPercentage(100);
      PdfPTable table2 = new PdfPTable(1000);
      table.setWidthPercentage(100);

      // Professional card
      cell = createLabel(" ", 32, 1, Font.BOLD);
      cell.setColspan(1000);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
      cell.setPadding(0);
      table2.addCell(cell);

      cell = new PdfPCell(table2);
      cell.setColspan(1000);
      cell.setBorder(PdfPCell.NO_BORDER);
      table.addCell(cell);
      cell = createValueCell(" ");
      cell.setColspan(1000);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setPadding(0);
      table.addCell(cell);

      table2 = new PdfPTable(1000);
      // Name
      cell =
          createLabel(
              ScreenHelper.getTranNoLink("web", "lastname", sPrintLanguage) + ":",
              6,
              1,
              Font.ITALIC);
      cell.setColspan(300);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setPadding(1);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      table2.addCell(cell);
      cell = createLabel(person.lastname, 8, 1, Font.BOLD);
      cell.setColspan(700);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setPadding(1);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      table2.addCell(cell);

      // FirstName
      cell =
          createLabel(
              ScreenHelper.getTranNoLink("web", "firstname", sPrintLanguage) + ":",
              6,
              1,
              Font.ITALIC);
      cell.setColspan(300);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setPadding(1);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      table2.addCell(cell);
      cell = createLabel(person.firstname, 8, 1, Font.BOLD);
      cell.setColspan(700);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setPadding(1);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      table2.addCell(cell);

      // Date of birth
      cell =
          createLabel(
              ScreenHelper.getTranNoLink("web", "dateofbirth", sPrintLanguage) + ":",
              6,
              1,
              Font.ITALIC);
      cell.setColspan(300);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setPadding(1);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      table2.addCell(cell);
      cell = createLabel(person.dateOfBirth, 8, 1, Font.BOLD);
      cell.setColspan(700);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setPadding(1);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      table2.addCell(cell);

      // Registration number
      cell =
          createLabel(
              ScreenHelper.getTranNoLink("web", "idcode", sPrintLanguage) + ":", 6, 1, Font.ITALIC);
      cell.setColspan(300);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      cell.setPadding(1);
      table2.addCell(cell);
      cell = createLabel(person.comment, 8, 1, Font.BOLD);
      cell.setColspan(700);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setPadding(1);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      table2.addCell(cell);

      // Barcode
      PdfContentByte cb = docWriter.getDirectContent();
      Barcode39 barcode39 = new Barcode39();
      barcode39.setCode("A" + person.comment);
      barcode39.setAltText("");
      barcode39.setSize(1);
      barcode39.setBaseline(0);
      barcode39.setBarHeight(20);
      Image image = barcode39.createImageWithBarcode(cb, null, null);
      cell = new PdfPCell(image);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setVerticalAlignment(PdfPCell.ALIGN_TOP);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      cell.setColspan(1000);
      cell.setPadding(0);
      table2.addCell(cell);

      cell = new PdfPCell(table2);
      cell.setColspan(700);
      cell.setBorder(PdfPCell.NO_BORDER);
      table.addCell(cell);

      // Photo
      image = null;
      try {
        image = Image.getInstance(DatacenterHelper.getPatientPicture(person.comment));
      } catch (Exception e1) {
        e1.printStackTrace();
      }
      if (image != null) {
        image.scaleToFit(130, 72);
        cell = new PdfPCell(image);
      } else {
        cell = new PdfPCell();
      }
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
      cell.setColspan(300);
      cell.setPadding(0);
      table.addCell(cell);

      // Horizontal line
      cell = new PdfPCell();
      cell.setBorder(PdfPCell.BOTTOM);
      cell.setColspan(1000);
      table.addCell(cell);

      table2 = new PdfPTable(2000);
      cell =
          createLabel(
              ScreenHelper.getTranNoLink("web", "deliverydate", sPrintLanguage), 6, 1, Font.ITALIC);
      cell.setColspan(550);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setPaddingRight(5);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
      table2.addCell(cell);
      cell = createLabel(ScreenHelper.stdDateFormat.format(new java.util.Date()), 6, 1, Font.BOLD);
      cell.setColspan(450);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      cell.setPadding(0);
      table2.addCell(cell);

      // Expiry data
      cell =
          createLabel(
              ScreenHelper.getTranNoLink("web", "expirydate", sPrintLanguage), 6, 1, Font.ITALIC);
      cell.setColspan(550);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setPaddingRight(5);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
      table2.addCell(cell);
      long day = 24 * 3600 * 1000;
      long year = 365 * day;
      long period = MedwanQuery.getInstance().getConfigInt("cardvalidityperiod", 5) * year - day;
      cell =
          createLabel(
              ScreenHelper.stdDateFormat.format(
                  new java.util.Date(new java.util.Date().getTime() + period)),
              6,
              1,
              Font.BOLD);
      cell.setColspan(450);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
      cell.setPadding(0);
      table2.addCell(cell);

      cell = new PdfPCell(table2);
      cell.setColspan(1000);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
      cell.setPadding(1);
      table.addCell(cell);

      cell =
          createLabel(
              ScreenHelper.getTranNoLink("web", "cardfooter2", sPrintLanguage), 6, 1, Font.ITALIC);
      cell.setColspan(1000);
      cell.setBorder(PdfPCell.NO_BORDER);
      cell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
      cell.setPadding(0);
      table.addCell(cell);

      doc.add(table);

    } catch (Exception e) {
      e.printStackTrace();
    }
  }
Example #2
0
  public static void createPdf(String filename) throws IOException, DocumentException {
    // step 1
    Document document = new Document(new Rectangle(340, 842));
    // step 2
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename));
    // step 3
    document.open();
    // step 4
    PdfContentByte cb = writer.getDirectContent();

    String code = "2846510";

    // EAN 13
    document.add(new Paragraph("Barcode EAN.UCC-13"));
    BarcodeEAN codeEAN = new BarcodeEAN();
    /*
    //codeEAN.setCode("4512345678906");
    codeEAN.setCode(code);
    document.add(new Paragraph("default:"));
    document.add(codeEAN.createImageWithBarcode(cb, null, null));
    codeEAN.setGuardBars(false);
    document.add(new Paragraph("without guard bars:"));
    document.add(codeEAN.createImageWithBarcode(cb, null, null));
    codeEAN.setBaseline(-1f);
    codeEAN.setGuardBars(true);
    document.add(new Paragraph("text above:"));
    document.add(codeEAN.createImageWithBarcode(cb, null, null));
    codeEAN.setBaseline(codeEAN.getSize());


    // UPC A
    document.add(new Paragraph("Barcode UCC-12 (UPC-A)"));
    codeEAN.setCodeType(Barcode.UPCA);
    //codeEAN.setCode("785342304749");
    codeEAN.setCode(code);
    document.add(codeEAN.createImageWithBarcode(cb, null, null));


    // EAN 8
    document.add(new Paragraph("Barcode EAN.UCC-8"));
    codeEAN.setCodeType(Barcode.EAN8);
    codeEAN.setBarHeight(codeEAN.getSize() * 1.5f);
    //codeEAN.setCode("34569870");
    codeEAN.setCode(code);
    document.add(codeEAN.createImageWithBarcode(cb, null, null));


    // UPC E
    document.add(new Paragraph("Barcode UPC-E"));
    codeEAN.setCodeType(Barcode.UPCE);
    //codeEAN.setCode("03456781");
    codeEAN.setCode(code);
    document.add(codeEAN.createImageWithBarcode(cb, null, null));
    codeEAN.setBarHeight(codeEAN.getSize() * 3f);


    // EANSUPP
    document.add(new Paragraph("Bookland"));
    document.add(new Paragraph("ISBN 0-321-30474-8"));
    codeEAN.setCodeType(Barcode.EAN13);
    //codeEAN.setCode("9781935182610");
    codeEAN.setCode(code);

    BarcodeEAN codeSUPP = new BarcodeEAN();
    codeSUPP.setCodeType(Barcode.SUPP5);
    //codeSUPP.setCode("55999");
    codeSUPP.setCode(code);
    codeSUPP.setBaseline(-2);
    BarcodeEANSUPP eanSupp = new BarcodeEANSUPP(codeEAN, codeSUPP);
    document.add(eanSupp.createImageWithBarcode(cb, null, BaseColor.BLUE));
    */

    // CODE 128
    document.add(new Paragraph("Barcode 128"));
    Barcode128 code128 = new Barcode128();
    // code128.setCode("0123456789 hello");
    code128.setCode(code);
    document.add(code128.createImageWithBarcode(cb, null, null));
    code128.setCode("0123456789\uffffMy Raw Barcode (0 - 9)");
    code128.setCodeType(Barcode.CODE128_RAW);
    document.add(code128.createImageWithBarcode(cb, null, null));

    // Data for the barcode :
    String code402 = "24132399420058289";
    String code90 = "3700000050";
    String code421 = "422356";
    StringBuffer data = new StringBuffer(code402);
    data.append(Barcode128.FNC1);
    data.append(code90);
    data.append(Barcode128.FNC1);
    data.append(code421);
    Barcode128 shipBarCode = new Barcode128();
    shipBarCode.setX(0.75f);
    shipBarCode.setN(1.5f);
    shipBarCode.setSize(10f);
    shipBarCode.setTextAlignment(Element.ALIGN_CENTER);
    shipBarCode.setBaseline(10f);
    shipBarCode.setBarHeight(50f);
    shipBarCode.setCode(data.toString());
    document.add(shipBarCode.createImageWithBarcode(cb, BaseColor.BLACK, BaseColor.BLUE));

    // it is composed of 3 blocks whith AI 01, 3101 and 10
    Barcode128 uccEan128 = new Barcode128();
    uccEan128.setCodeType(Barcode.CODE128_UCC);
    uccEan128.setCode("(01)00000090311314(10)ABC123(15)060916");
    document.add(uccEan128.createImageWithBarcode(cb, BaseColor.BLUE, BaseColor.BLACK));
    uccEan128.setCode("0191234567890121310100035510ABC123");
    document.add(uccEan128.createImageWithBarcode(cb, BaseColor.BLUE, BaseColor.RED));
    uccEan128.setCode("(01)28880123456788");
    document.add(uccEan128.createImageWithBarcode(cb, BaseColor.BLUE, BaseColor.BLACK));

    // INTER25
    document.add(new Paragraph("Barcode Interleaved 2 of 5"));
    BarcodeInter25 code25 = new BarcodeInter25();
    code25.setGenerateChecksum(true);
    code25.setCode("41-1200076041-001");
    document.add(code25.createImageWithBarcode(cb, null, null));
    code25.setCode("411200076041001");
    document.add(code25.createImageWithBarcode(cb, null, null));
    code25.setCode("0611012345678");
    code25.setChecksumText(true);
    document.add(code25.createImageWithBarcode(cb, null, null));

    // POSTNET
    document.add(new Paragraph("Barcode Postnet"));
    BarcodePostnet codePost = new BarcodePostnet();
    document.add(new Paragraph("ZIP"));
    codePost.setCode("01234");
    document.add(codePost.createImageWithBarcode(cb, null, null));
    document.add(new Paragraph("ZIP+4"));
    codePost.setCode("012345678");
    document.add(codePost.createImageWithBarcode(cb, null, null));
    document.add(new Paragraph("ZIP+4 and dp"));
    codePost.setCode("01234567890");
    document.add(codePost.createImageWithBarcode(cb, null, null));

    document.add(new Paragraph("Barcode Planet"));
    BarcodePostnet codePlanet = new BarcodePostnet();
    codePlanet.setCode("01234567890");
    codePlanet.setCodeType(Barcode.PLANET);
    document.add(codePlanet.createImageWithBarcode(cb, null, null));

    // CODE 39
    document.add(new Paragraph("Barcode 3 of 9"));
    Barcode39 code39 = new Barcode39();
    code39.setCode("ITEXT IN ACTION");
    document.add(code39.createImageWithBarcode(cb, null, null));

    document.add(new Paragraph("Barcode 3 of 9 extended"));
    Barcode39 code39ext = new Barcode39();
    code39ext.setCode("iText in Action");
    code39ext.setStartStopText(false);
    code39ext.setExtended(true);
    document.add(code39ext.createImageWithBarcode(cb, null, null));

    // CODABAR
    document.add(new Paragraph("Codabar"));
    BarcodeCodabar codabar = new BarcodeCodabar();
    codabar.setCode("A123A");
    codabar.setStartStopText(true);
    document.add(codabar.createImageWithBarcode(cb, null, null));

    // PDF417
    document.add(new Paragraph("Barcode PDF417"));
    BarcodePDF417 pdf417 = new BarcodePDF417();
    String text =
        "Call me Ishmael. Some years ago--never mind how long "
            + "precisely --having little or no money in my purse, and nothing "
            + "particular to interest me on shore, I thought I would sail about "
            + "a little and see the watery part of the world.";
    pdf417.setText(text);
    Image img = pdf417.getImage();
    img.scalePercent(50, 50 * pdf417.getYHeight());
    document.add(img);

    document.add(new Paragraph("Barcode Datamatrix"));
    BarcodeDatamatrix datamatrix = new BarcodeDatamatrix();
    datamatrix.generate(text);
    img = datamatrix.createImage();
    document.add(img);

    document.add(new Paragraph("Barcode QRCode"));
    BarcodeQRCode qrcode = new BarcodeQRCode("Moby Dick by Herman Melville", 1, 1, null);
    img = qrcode.getImage();
    document.add(img);

    // step 5
    document.close();
  }