我正在使用TSC ME240打印机打印标签。 标签设计有公司徽标,文本部分和条形码。 条形码和文本打印得很好但不是徽标,这是存储在打印机内存中的.bmp图像。
每当我打印标签时,都会弹出一条消息“无法打开文件”。
这是我的代码的一部分:
openport("printerName");
setup("80 mm", "51 mm", "4", "15", "0", "3 mm", "0");
clearbuffer();
// LOGO
downloadpcx("logo-bmp.PCX", "logo-bmp.PCX");
sendcommand("PUTPCX 19,15,\"logo-bmp.PCX\"");
printlabel("1", "1");
closeport();
我也尝试在应用程序中存储图像,但我仍然收到相同的消息。我想知道是否需要更改打印速度?由于打印机打印速度太快,打印机是否可能无法打印图像?但如果打印速度设置得太低,贴纸可能会燃烧。
修改
我将打印机配置为较低的打印速度,但这并没有解决我的问题。
然后我尝试使用他们的样本图像,它打印得很好。我的图像是5kb,图像是6kb,所以我知道尺寸与它没有任何关系。
对此事项的任何意见都将受到高度赞赏。这里没有想法。
答案 0 :(得分:1)
我使用以下代码解决了这个问题:
TSCActivity tscDll = new TSCActivity();
tscDll.openport("00:19:0E:A2:23:DE");
tscDll.setup(100, 60, 4, 15, 0, 3, 0);
tscDll.clearbuffer();
String filePath = Environment.getExternalStorageDirectory().toString() + "/Download";
String fileName = "PrintImg2.bmp";
File mFile = new File(filePath, fileName);
tscDll.sendpicture(200, 200, mFile.getAbsolutePath());
tscDll.printlabel(1, 1);
tscDll.closeport();
答案 1 :(得分:0)
我遇到了同样的问题,下面的代码解决了问题。
mydll = cdll.LoadLibrary('k:\Work\SCANNER\Printer\TSCLIB_V0201_x64\TSCLIB.dll')
print 'Start Printing.'
mydll.openport("TSC TA300")
mydll.setup("32","25","2","10","0","0","0")
mydll.clearbuffer()
# LABEL TEMPLATE
mydll.sendcommand("SIZE 50.8 mm,25.4 mm")
mydll.sendcommand('GAP 3 mm,0 mm')
mydll.sendcommand('DIRECTION 0')
mydll.sendcommand('CLS')
# Draw Label Image
mydll.sendcommand('BOX 12,12,584.4,282,4,19.2')
mydll.sendcommand("QRCODE 417.6,160,H,4,A,0,\"ABCabc123\"")
mydll.sendcommand("TEXT 48,56,\"2\",0,1,1,\"I'm Testing\"")
# Print
mydll.sendcommand('PRINT 1,1')
mydll.closeport()
print 'Finished Printing.'
答案 2 :(得分:0)
您的代码应如下所示:
PrintTSClabel.openport("PrinterName as in Windows"); //Driver name of the printer as in Windows
PrintTSClabel.setup("80", "38", "4", "15", "0", "3", "0"); //Setup the media size and sensor type info
PrintTSClabel.clearbuffer(); //Clear image buffer
PrintTSClabel.downloadpcx(@"C:\USERS\USER\DOWNLOADS\LOGO-BMP.PCX", "LOGO-BMP.PCX"); //Download PCX file into printer
PrintTSClabel.sendcommand("PUTPCX 10,30,\"LOGO-BMP.PCX\""); //Drawing PCX graphic
PrintTSClabel.sendcommand("PRINT 1"); //Print labels
PrintTSClabel.closeport(); //Close specified printer driver
答案 3 :(得分:0)
我刚才又看到了这个问题,我想我会分享我所做的工作。我希望这会对外面的人有所帮助。
首先,我从使用pcx更改为bmp只是因为我发现它更容易。我还使图像很小,例如1kb,b / c我还是在打印一个小的徽标。然后,我使用diagtool将新图像上传到打印机。
除了删除<?php
include_once '../includes/db.inc.php';
$sql = "SELECT c.prm_nome, c.apelido, c.nmr_tlm, c.mail, c.nif_id, f.flight_id
FROM clients c
JOIN flights f ON f.nif_id = c.nif_id
ORDER BY c.nif_id ASC;";
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
$resultCheck = mysqli_num_rows($result);
if ($resultCheck > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$first = $row["prm_nome"];
$last = $row["apelido"];
$phone = $row['nmr_tlm'];
$email = $row['mail'];
$nif = $row['nif_id'];
$flight = $row['flight_id'];
echo '<tr>';
echo '<td><a href="detail.php?id='. $nif . '">'.$nif.'</a></td>';
echo '<td>'.$first.'</td>';
echo '<td>'.$last.'</td>';
echo '<td>'.$phone.'</td>';
echo '<td>'.$email.'</td>';
echo '<td><a href="../flights/detail.php?id='. $flight . '">'.$flight.'</a></td>';
echo '</tr>';
}
}
?>
行并将downloadpcx
更改为PUTPCX
之外,我的代码实际上并没有太大变化。
PUTBMP
然后它就起作用了。
答案 4 :(得分:0)
这是因为图像不是TSC打印机支持的BMP格式(1位或256位)。 在“画图另存为”中另存为BMP,格式为1位或256位。