Digitalização em lote com MmsComputing

0 respostas
java
R

Olá a todos bom dia, então anos atras eu estava em um projeto para gerenciamento de documentos o chamado GED e envolvia a digitalização e para isto existe a lib Mms que é open e a Morena esta é paga, eu estava usando a Mms e o projeto não rolou.

Hoje surgiu uma necessidade de digitalização e em lote usando aqueles scanner que tem uma bandeja para 50, 100 folhas…, se alguém pudesse dar uma força o meu problema justamente é com relação a digitalizar lote de documentos se teria alguma lógica especifica para tal porque de um em um documento o meu código funciona sem problemas.

private void digitalizar() throws ScannerIOException, InterruptedException {
	LOG.info("digitalizar()");
	scanner = Scanner.getDevice();
	// String scanners[] = scanner.getDeviceNames();
	if (scanner != null) {
		try {

			scanner.addListener(this);
			// inicia a digitalização da imagem

			scanner.acquire();
			Thread.sleep(300);
			scanner.waitToExit();
		} catch (Exception ex) {
            throw ex;
		}
	}
}

private void sair() {
	frame.fechar();
}

@Override
public void update(Type type, ScannerIOMetadata metadata) {
	if (type.equals(ScannerIOMetadata.ACQUIRED)) {
		// neste ponto o documento foi totalmente digitalizado
		BufferedImage bufferedImage = metadata.getImage();

		String qrCode = Biblioteca.readQRCode(bufferedImage);
		LOG.info("QRCode: " + qrCode);
		frame.atualizarImagem(bufferedImage);
		// imagePanel.setScannedImage(bufferedImage);
		try {
			ImageIO.write(bufferedImage, "jpg",
					new File(pathSources + System.getProperty("file.separator") + "mmsc_image.jpg"));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		// ImageIO.write(image, "jpeg", new File("mmsc_image"+(index++)+".jpeg"));

	} else if (type.equals(ScannerIOMetadata.NEGOTIATE)) {
		ScannerDevice device = metadata.getDevice();
		try {
			device.setShowUserInterface(true);
			device.setShowProgressBar(true);
			//device.setResolution(100);
		} catch (Exception e) {
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, e.getMessage());
		}
Criado 20 de fevereiro de 2019
Respostas 0
Participantes 1