{"id":1964,"date":"2017-05-11T10:37:11","date_gmt":"2017-05-11T08:37:11","guid":{"rendered":"http:\/\/blog.rabahi.net\/?page_id=1964"},"modified":"2017-05-11T10:48:47","modified_gmt":"2017-05-11T08:48:47","slug":"java-qrcode","status":"publish","type":"page","link":"https:\/\/blog.rabahi.net\/?page_id=1964","title":{"rendered":"Java &#8211; QRCode"},"content":{"rendered":"<h1>Installation<\/h1>\n<p>If you use maven, add this to your pom.xml :<\/p>\n<pre lang=\"xml\">\r\n<dependencies>\r\n(...)\r\n\r\n  <dependency>\r\n    <groupId>com.google.zxing<\/groupId>\r\n    <artifactId>core<\/artifactId>\r\n    <version>${zxing.version}<\/version>\r\n  <\/dependency>\r\n\r\n  <dependency>\r\n    <groupId>com.google.zxing<\/groupId>\r\n    <artifactId>javase<\/artifactId>\r\n    <version>${zxing.version}<\/version>\r\n  <\/dependency>\r\n\r\n(...)\r\n<\/dependencies>\r\n\r\n<\/pre>\n<h1>Encode<\/h1>\n<pre lang=\"java\">\r\n\/\/ Set parameters\r\nString stringToEncode=\"Hello World!\";\r\nint imageWith=250;\r\nint imageHeight=250;\r\nString imageFormat=\"PNG\";\r\nFile outputFile=new File(\"\/tmp\",\"myqrcode.png\");\r\n\r\n\/\/ Encode\r\nMap<EncodeHintType, Object> hintMap = new EnumMap<>(EncodeHintType.class);\r\nhintMap.put(EncodeHintType.CHARACTER_SET, \"UTF-8\");\t\t\r\n\t\t\r\nBitMatrix bitMatrix = new QRCodeWriter().encode(stringToEncode, BarcodeFormat.QR_CODE, imageWith, imageHeight,hintMap);\r\nMatrixToImageWriter.writeToPath(bitMatrix, imageFormat, outputFile.toPath());\r\n<\/pre>\n<h1>Decode<\/h1>\n<pre lang=\"java\">\r\n\/\/ Parameters\r\nFile outputFile=new File(\"\/tmp\",\"myqrcode.png\");\r\n\r\n\/\/ Decode\r\nBufferedImage image = ImageIO.read(outputFile);\r\nLuminanceSource source = new BufferedImageLuminanceSource(image);\r\nBinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));\r\n\r\nEnumMap<DecodeHintType, ?> hints = new EnumMap<>(DecodeHintType.class);\r\nQRCodeReader reader = new QRCodeReader();\r\nResult result = reader.decode(bitmap, hints);\r\n\r\nreturn result.getText();\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Installation If you use maven, add this to your pom.xml : (&#8230;) com.google.zxing core ${zxing.version} com.google.zxing javase ${zxing.version} (&#8230;) Encode \/\/ Set parameters String stringToEncode=&#8221;Hello World!&#8221;; int imageWith=250; int imageHeight=250; String imageFormat=&#8221;PNG&#8221;; File outputFile=new File(&#8220;\/tmp&#8221;,&#8221;myqrcode.png&#8221;); \/\/ Encode Map hintMap = new EnumMap(EncodeHintType.class); hintMap.put(EncodeHintType.CHARACTER_SET, &#8220;UTF-8&#8221;); BitMatrix bitMatrix = new QRCodeWriter().encode(stringToEncode, BarcodeFormat.QR_CODE, imageWith, imageHeight,hintMap); MatrixToImageWriter.writeToPath(bitMatrix, imageFormat, outputFile.toPath()); [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1538,"menu_order":13,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1964","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1964"}],"version-history":[{"count":3,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1964\/revisions"}],"predecessor-version":[{"id":1967,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1964\/revisions\/1967"}],"up":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1538"}],"wp:attachment":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}