Hallo Forum,
ich erzeuge mit Barcode4j einen QR-Code, welcher mir als jpeg abgespeichert wird. Nun würde ich gerne mehrere dieser Codes in einer Datei haben (aktuell pro Code eine jpeg). Am liebsten hätte ich ein PDF-Dokument mit mehreren Seiten. Wobei eine Seite nur 5cm breit und 5cm hoch sein sollte und nur einen Code beinhalten soll.
Ich habe schon viel gesucht und getan, aber leider stehe ich da wohl auf dem Holzweg.
Anbei der Code so wie er arbeitet:
und die dazugehörige Klasse:
Für eure Hilfe und Anregungen bin ich euch sehr dankbar.
mfg
Balli
p.s.
die Ausgabe von PDFs gelingt mir durch folgendes Tuorial:
Javabeginners - PDFschreiben
ich erzeuge mit Barcode4j einen QR-Code, welcher mir als jpeg abgespeichert wird. Nun würde ich gerne mehrere dieser Codes in einer Datei haben (aktuell pro Code eine jpeg). Am liebsten hätte ich ein PDF-Dokument mit mehreren Seiten. Wobei eine Seite nur 5cm breit und 5cm hoch sein sollte und nur einen Code beinhalten soll.
Ich habe schon viel gesucht und getan, aber leider stehe ich da wohl auf dem Holzweg.
Anbei der Code so wie er arbeitet:
Java:
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class BarcodeGenerator {
public static void createFile(int id, String options)
{
String strFilePath = "C://test//qr"+id+".jpg";
try
{
FileOutputStream fos = new FileOutputStream(strFilePath);
Barcode barcode = new Barcode();
barcode.createBarcode(id+", "+options, 300);
fos.write(barcode.getBarcode());
fos.close();
}
catch (FileNotFoundException ex)
{
System.out.println("FileNotFoundException : " + ex);
}
catch (IOException ioe)
{
System.out.println("IOException : " + ioe);
}
}
}
und die dazugehörige Klasse:
Java:
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import org.krysalis.barcode4j.impl.qr.QRCodeBean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
public class Barcode {
private byte[] picByte = null;
public Barcode() {
super();
this.picByte = picByte;
}
public void createBarcode(String code, int dpi)
{
try
{
QRCodeBean bean = new QRCodeBean();
ByteArrayOutputStream bytesa = new ByteArrayOutputStream();
try
{
// Set up the canvas provider for monochrome JPEG output
BitmapCanvasProvider canvas = new BitmapCanvasProvider(bytesa,
"image/jpeg", dpi, BufferedImage.TYPE_BYTE_BINARY,
false, 0);
bean.generateBarcode(canvas, code);
canvas.finish();
picByte = bytesa.toByteArray();
System.out.println(picByte.length);
}
finally
{
bytesa.close();
}
}
catch (Exception e)
{
// gelöscht
}
}
public byte[] getBarcode()
{
return picByte;
}
}
Für eure Hilfe und Anregungen bin ich euch sehr dankbar.
mfg
Balli
p.s.
die Ausgabe von PDFs gelingt mir durch folgendes Tuorial:
Javabeginners - PDFschreiben
Zuletzt bearbeitet: