Форматирование EAN8 с помощью zxing/barcode4j
Я пытаюсь сгенерировать EAN8-штрих-код в Java. Если попытался barcode4j (который является бесплатным в отличие от barcodelib), который дает мне действительно хорошие результаты.
Одна вещь, которую я не понял, это изменить ширину и высоту штрих-кода в barocde4j. Я решил это параметром разрешения, что не очень хорошее решение.
То, что я хочу сделать, это генерировать что-либо в zxing (потому что мне также нужен QR-код), но результат выглядит довольно некрасиво. Вот как я генерирую штрих-код:
BitMatrix matrix;
com.google.zxing.Writer writer = new EAN8Writer();
com.google.zxing.BarcodeFormat BarcodeFormat;
matrix = writer.encode(code,BarcodeFormat, width, height);
MatrixToImageWriter.writeToStream(matrix, "JPG", output);
Картинка выглядит как ZXING
Но я бы хотел, чтобы это выглядело так, как это делает barcode4j:
С уважением && Tia Noircc
1 ответ
На Barcode4J: вы можете только косвенно контролировать размер штрих-кода. Если вы генерируете штрих-коды с помощью метода bean, у вас есть setHeight(double) и setModuleWidth(double), чтобы влиять на размер:
С конфигурацией XML вы можете найти возможные значения здесь.
И кстати, я настоятельно рекомендую НЕ генерировать JPEG для штрих-кода, потому что это формат с потерями, который может влиять на контраст, а штрих-коды живут вне контраста. Используйте вместо PNG! Кроме того, вы можете прочитать страницу устранения неполадок, поскольку вы генерируете растровые изображения. Это может помочь избежать проблем со сканированием позже.