[quote=marcosfonceka]Bom dia.
Poderia me dar mais detalhes a respeito de como imprimir a etiqueta?
Na teoria eu montaria a String com o código dela o PPLB de acordo com o layout da etiqueta. A partir daí eu envio pela serial… usando a classe aí que você deixou como exemplo?
Basicamente é isso?
Poderia me dar uma força nisso, por favor?
Muito obrigado![/quote]
Marcos,
Não sei se é tarde para te responder, mas vou deixar registrado aqui, porque também tive dificuldade em conseguir chegar em algo concreto, a minha rotina não esta 100% ainda. Estou com problemas a acentuação, mas talvez seja um caminho pra te ajudar:
Rotina que converte meus caracteres com acento (essa é aparte que ainda não funciona direito:
[code]private static void converteCaracter(String linha, JTextArea jTextArea2) throws IOException {
jTextArea2.setText(null);
//Ç 128 × 158 + 188 + 218 ° 248
//ü 129 ? 159 ¢ 189 _ 219 ¨ 249
//é 130 á 160 ¥ 190 _ 220 · 250
//â 131 í 161 + 191 ¦ 221 ¹ 251
//ä 132 ó 162 + 192 Ì 222 ³ 252
//à 133 ú 163 - 193 _ 223 ² 253
//å 134 ñ 164 - 194 Ó 224 _ 254
//ç 135 Ñ 165 + 195 ß 225 255
//ê 136 ª 166 - 196 Ô 226
//ë 137 º 167 + 197 Ò 227
//è 138 ¿ 168 ã 198 õ 228
//ï 139 ® 169 Ã 199 Õ 229
//î 140 ¬ 170 + 200 µ 230
//ì 141 ½ 171 + 201 Þ 231
//Ä 142 ¼ 172 - 202 Þ 232
//Å 143 ¡ 173 - 203 Ú 233
//É 144 « 174 ¦ 204 Û 234
//æ 145 » 175 - 205 Ù 235
//Æ 146 _ 176 + 206 ý 236
//ô 147 _ 177 ¤ 207 Ý 237
//ö 148 _ 178 ð 208 ¯ 238
//ò 149 ¦ 179 Ð 209 ´ 239
//û 150 ¦ 180 Ê 210 240
//ù 151 Á 181 Ë 211 ± 241
//ÿ 152 Â 182 È 212 _ 242
//Ö 153 À 183 i 213 ¾ 243
//Ü 154 © 184 Í 214 ¶ 244
//ø 155 ¦ 185 Î 215 § 245
//£ 156 ¦ 186 Ï 216 ÷ 246
//Ø 157 + 187 + 217 ¸ 247}
for (Character c : linha.toCharArray()) {
switch (c) {
case 'á':
c = 160;
break;
case 'à':
c = 133;
break;
case 'â':
c = 131;
break;
case 'ã':
c = 134;
break;
case 'é':
c = 130;
break;
case 'è':
c = 138;
break;
case 'ê':
c = 136;
break;
case 'í':
c = 161;
break;
case 'ì':
c = 141;
break;
case 'î':
c = 140;
break;
case 'ó':
c = 162;
break;
case 'ò':
c = 149;
break;
case 'õ':
c = 235;
break;
case 'ô':
c = 147;
break;
case 'ú':
c = 163;
break;
case 'ù':
c = 151;
break;
case 'û':
c = 150;
break;
case 'Ã':
c = 199;
break;
case 'À':
c = 183;
break;
case 'Á':
c = 181;
break;
case 'Â':
c = 182;
break;
case 'É':
c = 144;
break;
case 'È':
c = 212;
break;
case 'Ê':
c = 210;
break;
case 'Í':
c = 214;
break;
case 'Ì':
c = 222;
break;
case 'Î':
c = 215;
break;
case 'Ó':
c = 224;
break;
case 'Ò':
c = 227;
break;
case 'Õ':
c = 229;
break;
case 'Ô':
c = 226;
break;
case 'Ú':
c = 233;
break;
case 'Ù':
c = 234;
break;
case 'Û':
c = 235;
break;
case 'ç':
c = 135;
break;
case 'Ç':
c = 128;
break;
case 'º':
c = 167;
break;
}
jTextArea2.setText(jTextArea2.getText() + c);
}
}[/code]
Rotina que procura a impressora e imprime o texto direto nela:
[code] private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
//l printer
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
converteCaracter(jTextArea1.getText(), jTextArea2);
//create a print job
DocPrintJob job = printService.createPrintJob();
//define the format of print document
InputStream is = new ByteArrayInputStream(jTextArea2.getText().getBytes());
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
//print the data
Doc doc = new SimpleDoc(is, flavor, null);
job.print(doc, null);
is.close();
} catch (Exception e) {
e.printStackTrace();
}
} [/code]