扫描二维码并使用p:photoCam进行解码



我需要在相机拍摄时拍摄并读取QR码,所有这些都在JSF应用程序中完成。

我已经读过照片中的二维码,但现在我必须把它做成"二维码";"活着";。

有人有什么建议吗?

我正在尝试使用PrimeFaces的p:photoCam。

这就是使用Zxing读取二维码的方法:

/**
* 
* @param filePath
* @param charset
* @param hintMap
* 
* @return Qr Code value 
* 
* @throws FileNotFoundException
* @throws IOException
* @throws NotFoundException
*/
public static String readQRCode(String filePath, String charset, Map hintMap)
throws FileNotFoundException, IOException, NotFoundException {
BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(
new BufferedImageLuminanceSource(
ImageIO.read(new FileInputStream(filePath)))));
Result qrCodeResult = new MultiFormatReader().decode(binaryBitmap);
return qrCodeResult.getText();
}
}
PrimeFaces Extensions 10将有一个pe:codeScanner组件,用于扫描设备摄像头的条形码和二维码。
<pe:codeScanner width="600"
height="400">
<p:ajax event="codeScanned"
listener="#{codeScannerController.onCodeScanned}"/>
</pe:codeScanner>

来源:https://github.com/primefaces-extensions/primefaces-extensions/blob/master/showcase/src/main/webapp/sections/codeScanner/example-basicUsage.xhtml

public void onCodeScanned(final SelectEvent<Code> event) {
final Code code = event.getObject();
FacesContext.getCurrentInstance().addMessage(
null,
new FacesMessage(FacesMessage.SEVERITY_INFO,
String.format("Scanned: %s (%s)", code.getValue(), code.getFormat()),
null));
}

来源:https://github.com/primefaces-extensions/primefaces-extensions/blob/master/showcase/src/main/java/org/primefaces/extensions/showcase/controller/codescanner/CodeScannerController.java

最新更新