Example usage for com.itextpdf.text.pdf.qrcode ByteMatrix getWidth

List of usage examples for com.itextpdf.text.pdf.qrcode ByteMatrix getWidth

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf.qrcode ByteMatrix getWidth.

Prototype

public int getWidth() 

Source Link

Usage

From source file:com.mui.certificate.core.HalalCertification.java

License:Apache License

private BufferedImage convertToImage(ByteMatrix matrix, int scale) {
    BufferedImage buffImage = new BufferedImage(matrix.getHeight() * scale, matrix.getWidth() * scale,
            BufferedImage.TYPE_INT_ARGB);

    for (int i = 0; i < matrix.getHeight(); ++i) {
        for (int j = 0; j < matrix.getWidth(); ++j) {
            for (int iscale = 0; iscale < scale; ++iscale) {
                for (int jscale = 0; jscale < scale; ++jscale) {
                    buffImage.setRGB(j * scale + jscale, i * scale + iscale,
                            matrix.get(j, i) == 0 ? WHITE : BLACK);
                }/*from   w  w  w .  j  ava 2  s .c  o  m*/
            }
        }
    }

    return buffImage;
}

From source file:com.mui.certificate.core.HalalCertification.java

License:Apache License

@Override
public void exportCertificate(Certificate cert, File outputPdf) throws Exception {
    ByteMatrix matrix = generateQRCode(cert.getCertificateURL().toString());
    int scale = sMagicNumber / matrix.getWidth();
    BufferedImage buffImage = convertToImage(matrix, scale);
    File tempOutput = new File("tmp-qrcode.png");
    ImageIO.write(buffImage, "png", tempOutput);
    Image itImage = Image.getInstance(tempOutput.getCanonicalPath());
    PdfReader reader = new PdfReader("doc/template_certificate_halal.pdf");
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outputPdf));
    int centerY = 715;
    int centerX = 135;
    itImage.setAbsolutePosition(centerX - (itImage.getWidth() / 2), centerY - (itImage.getHeight() / 2));
    stamper.getOverContent(1).addImage(itImage);
    AcroFields form1 = stamper.getAcroFields();
    String nameHeader = "topmostSubform[0].Page1[0].";
    form1.setField(nameHeader + "no_certificate[0]", cert.getCertificateNumber().toString());
    form1.setField(nameHeader + "name_product[0]", cert.getProductName());
    form1.setField(nameHeader + "type_product[0]", cert.getProductType());
    form1.setField(nameHeader + "name_company[0]", cert.getCompanyName());
    form1.setField(nameHeader + "company_address[0]", cert.getCompanyAddress());
    Calendar cal = Calendar.getInstance(new Locale("id"));
    Locale idLocale = new Locale("id");
    cal.setTime(cert.getIssuedDate());//from  w  ww.  j av a2  s  .c o m
    form1.setField(nameHeader + "issued_date[0]", String.format(idLocale, "%1$tA, %1$te %1$tB %1$tY", cal));
    cal.setTime(cert.getValidDate());
    form1.setField(nameHeader + "expired_date[0]", String.format(idLocale, "%1$tA, %1$te %1$tB %1$tY", cal));
    stamper.setFormFlattening(true);
    stamper.close();
    tempOutput.delete();
}

From source file:com.mui.halal.experiment.MatrixToImageWriter.java

License:Apache License

/**
 * Renders a {@link ByteMatrix} as an image, as a
 * {@link BufferedImage}. The byte values are construed as (unsigned)
 * luminance values, in theory./*from   w w w  .  j  a  v  a2  s.c o m*/
 * However, anything but 0 will be rendered as white, and 0 will be
 * rendered as black.
 */
public static BufferedImage toBufferedImage(ByteMatrix matrix) {
    int width = matrix.getWidth();
    int height = matrix.getHeight();
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            image.setRGB(x, y, matrix.get(x, y) == 0 ? WHITE : BLACK);
        }
    }
    return image;
}