List of usage examples for com.itextpdf.text.pdf.qrcode ByteMatrix getWidth
public int getWidth()
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; }