![JAR search and dependency download from the Maven repository](/logo.png)
fr.w3blog.zpl.utils.ZplUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zebra-zpl Show documentation
Show all versions of zebra-zpl Show documentation
Java Api for Zepra Zpl generator
package fr.w3blog.zpl.utils;
import fr.w3blog.zpl.constant.ZebraFont;
import fr.w3blog.zpl.constant.ZebraPPP;
/**
* Common method used to manipulate ZPL
*
* @author ttropard
*
*/
public class ZplUtils {
/**
* Fonction called by zplCommand to cast variable object and ajust for zpl code
*
* @param object
*/
private static String variableObjectToZplCode(Object object) {
if (object != null) {
if (object instanceof Integer) {
return (Integer.toString((Integer) object));
} else if (object instanceof Boolean) {
if (((Boolean) object).booleanValue()) {
return "Y";
} else {
return "N";
}
} else {
return object.toString();
}
} else {
return "";
}
}
/**
* Method to quickly generate zpl code with command and variable
*
* @param command
* Command (without ^)
* @param variables
* list variable
* @return
*/
public static StringBuilder zplCommand(String command) {
StringBuilder zpl = new StringBuilder();
zpl.append("^");
zpl.append(command);
return zpl;
}
/**
* Method to quickly generate zpl code with command and variable
*
* @param command
* Command (without ^)
* @param variables
* list variable
* @return
*/
public static StringBuilder zplCommandSautLigne(String command) {
StringBuilder zpl = zplCommand(command);
zpl.append("\n");
return zpl;
}
/**
* Method to quickly generate zpl code with command and variable
*
* @param command
* Command (without ^)
* @param variables
* list variable
* @return
*/
public static StringBuilder zplCommand(String command, Object... variables) {
StringBuilder zpl = new StringBuilder();
zpl.append("^");
zpl.append(command);
if (variables.length > 1) {
zpl.append(variableObjectToZplCode(variables[0]));
for (int i = 1; i < variables.length; i++) {
zpl.append(",");
zpl.append(variableObjectToZplCode(variables[i]));
}
} else if (variables.length == 1) {
//Only one element in variables
zpl.append(variableObjectToZplCode(variables[0]));
}
return zpl;
}
/**
* Method to quickly generate zpl code with command and variable
*
* @param command
* Command (without ^)
* @param variables
* list variable
* @return
*/
public static StringBuilder zplCommandSautLigne(String command, Object... variables) {
StringBuilder zpl = zplCommand(command, variables);
zpl.append("\n");
return zpl;
}
/**
* Extract from font, fontSize and PPP the height and width in dots.
*
* Fonts and PPP are not all supported.
* Please complete this method or use dot in yous params
*
* @param zebraFont
* @param fontSize
* @param zebraPPP
* @return array[height,width] in dots
*/
public static Integer[] extractDotsFromFont(ZebraFont zebraFont, int fontSize, ZebraPPP zebraPPP) {
Integer[] array = new Integer[2];
if (ZebraFont.ZEBRA_ZERO.equals(zebraFont) && ZebraPPP.DPI_300.equals(zebraPPP)) {
//We use ratio to converted (based on ratio used by Zebra Designer Tools)
array[0] = Math.round(fontSize * 4.16F);//Heigth
array[1] = Math.round(fontSize * 4.06F);//With
} else {
throw new UnsupportedOperationException("This PPP and this font are not yet supported. Please use ZebraAFontElement.");
}
return array;
}
/**
* Convert point(pt) in pixel(px)
*
* @param point
* @return
*/
public static Integer convertPointInPixel(int point) {
return Math.round(point * 1.33F);
}
/**
* Function used to converted ASCII >127 in \hexaCode accepted by ZPL language
*
* @param str
* str
* @return string with charactere remove
*/
public static String convertAccentToZplAsciiHexa(String str) {
if (str != null) {
str = str.replace("é", "\\82");
str = str.replace("à", "\\85");
str = str.replace("è", "\\8A");
}
return str;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy