use of boofcv.app.qrcode.CreateQrCodeDocumentPDF in project BoofCV by lessthanoptimal.
the class CreateQrCodeDocument method run.
public void run() throws IOException {
if (messages == null || messages.size() == 0) {
throw new RuntimeException("Need to specify a message");
}
getFileTypeFromFileName();
if (fileType.equals("pdf")) {
System.out.println(" Document : PDF");
System.out.println(" paper : " + paperSize);
System.out.println(" info : " + (!disablePrintInfo));
System.out.println(" units : " + unit);
System.out.println(" marker width : " + markerWidth + " (" + unit.abbreviation + ")");
} else {
System.out.println(" Document : Image");
}
System.out.println();
List<QrCode> markers = new ArrayList<>();
for (String message : messages) {
QrCodeEncoder encoder = new QrCodeEncoder();
if (mask != null)
encoder.setMask(mask);
encoder.setError(error != null ? error : QrCode.ErrorLevel.M);
if (version > 0)
encoder.setVersion(version);
if (encoding != null) {
switch(encoding) {
case NUMERIC:
encoder.addNumeric(message);
break;
case ALPHANUMERIC:
encoder.addAlphanumeric(message);
break;
case BYTE:
encoder.addBytes(message);
break;
case KANJI:
encoder.addKanji(message);
break;
default:
throw new RuntimeException("Unknown mode");
}
} else {
encoder.addAutomatic(message);
}
QrCode qr = encoder.fixate();
markers.add(qr);
System.out.println(" Message");
System.out.println(" length : " + qr.message.length());
System.out.println(" version : " + qr.version);
System.out.println(" encoding : " + qr.mode);
System.out.println(" error : " + qr.error);
}
switch(fileType) {
case "pdf":
{
CreateQrCodeDocumentPDF renderer = new CreateQrCodeDocumentPDF(fileName, paperSize, unit);
renderer.markerWidth = markerWidth;
renderer.spaceBetween = spaceBetween;
renderer.gridFill = gridFill;
renderer.showInfo = !hideInfo;
renderer.render(markers);
if (sendToPrinter) {
try {
renderer.sendToPrinter();
} catch (PrinterException e) {
throw new RuntimeException(e);
}
} else
renderer.saveToDisk();
}
break;
default:
{
CreateQrCodeDocumentImage renderer = new CreateQrCodeDocumentImage(fileName, 20);
renderer.render(markers);
}
break;
}
}
Aggregations