Мне нужно создать программу на Java, которая может создавать 2D-штрих-код DataMatrix.Я использую zxing
В моем случае содержимое матрицы данных формируется строкой, в которой у меня есть 2 XML-файла, один без цифровой подписи, а другой с цифровой подписью, но я столкнулся с некоторыми проблемами.
Все работает довольно хорошо, если я запускаю этот код (в String testo
вы можете найти 2 XML, ни один из них не имеет цифровой подписи): "
String testo = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><infoPack xmlns=\"http://www.digitpa.gov.it/infoPack1.0\"><box id=\"id9ceba69c-f1de-4abb-ab70-bcb21921c984\"><content type=\"pdf\" mime=\"application/pdf\"/><signature typeSign=\"CAdES\" iri=\"http://www.iriinfopack.it\"/></box></infoPack><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><infoPack xmlns=\"http://www.digitpa.gov.it/infoPack1.0\"><box id=\"id9ceba69c-f1de-4abb-ab70-bcb21921c984\"><content type=\"pdf\" mime=\"application/pdf\"/><signature typeSign=\"CAdES\" iri=\"http://www.iriinfopack.it\"/></box></infoPack>"
int sizePixels = 200;
Map<EncodeHintType, Object> hints = new EnumMap<>(EncodeHintType.class);
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
hints.put(EncodeHintType.ERROR_CORRECTION, "H");
DataMatrixWriter writerDM = new DataMatrixWriter();
bitMatrix = writerDM.encode(testo, BarcodeFormat.DATA_MATRIX, sizePixels, sizePixels, hints);
"
Inтот же код Если я подпишу цифровой раздел infoPack, я получу исключение.Это трассировка стека исключений:
2018-09-27 09:41:57,774 44802 [main] ERROR i.e.t.a.t.d.s.test.QRDatamatrixTest - Errore
java.lang.IllegalArgumentException: Can't find a symbol arrangement that matches the message. Data codewords: 2922
at com.google.zxing.datamatrix.encoder.SymbolInfo.lookup(SymbolInfo.java:148)
Aby предложение о том, как я могу решить эту проблему
Спасибо
Angelo