Привет, Я столкнулся с одной проблемой при генерации штрих-кода в java. Я использовал код 128 для генерации штрих-кода. Данные для генерации длины штрихкода составляют 20 цифр (123456789), я могу сгенерировать штрих-код, а размеры штрих-кода - 165, а ширина - 58. Но мне понадобилось 108 как ширина и 29 как высота для того же 20-значного ввода.Генерация штрих-кода Java
Я использовал код для генерации штрих-кода, пожалуйста, помогите, если у кого-то есть идея в решении проблемы.
package com.tcs.tpos.business.dayactivities;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import com.onbarcode.barcode.Code128;
public class barTest {
public static void main(String[] args) throws Exception
{
String barip="1234567890";
File poFile = new File("c:/tmp/work/barcode"+barip+ ".png");
Code128 barcode=new Code128();
barcode.setData(barip);
System.out.println("The Barocde height is been refered here " +barcode.getX());
System.out.println("The Barcode width is been refered here " +barcode.getY());
System.out.println("The Barcode width is been refered here " +barcode.getBarcodeHeight());
barcode.setX(0.5f);
barcode.setY(15f);
barcode.setLeftMargin(0.1f);
barcode.setRightMargin(0.1f);
System.out.println("The Barcode width is been refered here " +barcode.getBarcodeHeight());
System.out.println("The Barcode width is been refered here " +barcode.getBarcodeWidth());
System.out.println("The Barcode width is been refered here " +barcode.getTopMargin());
System.out.println("The Barcode width is been refered here " +barcode.getBottomMargin());
System.out.println("The Barcode width is been refered here " +barcode.getLeftMargin());
System.out.println("The Barcode width is been refered here " +barcode.getRightMargin());
barcode.drawBarcode("c:/tmp/work/barcode"+barip+ ".png");
ImageIcon oimage=new ImageIcon("c:/tmp/work/barcode"+barip+ ".png");
BufferedImage inputImage=ImageIO.read(poFile);
BufferedImage genom=generateomImage(inputImage,113,25);
ImageIO.write(genom, "png", new File("c:/tmp/work/barcode"+barip+ ".png"));
}
public static BufferedImage generateomImage(BufferedImage ret,int width,int height)
{
int w = ret.getWidth(null);
int h = ret.getHeight(null);
Image scaledImage = ret.getScaledInstance((int)width, (int)height, Image.SCALE_SMOOTH);
BufferedImage result = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics2D g = result.createGraphics();
g.drawImage(scaledImage, 0, 0, null);
g.dispose();
return result;
}
}
Так что же происходит, если вы сделаете это? –