First of all, we have an application developed in .Net and used on a Win XP platform for years with very little problems.
We recently switched to Win 7 64bit and we are having issues with labels not printing.
When the user selects a job it may have several products it needs to print per order line.
What is happening, is sometimes labels aren't being printed for an specific order line.
For instance, let's say we have job X with 8 order lines to print.
The application sends the labels to a preview window using crystal reports and then immediately sends it to the printer without any human intervention.
line 4 with quantity 1, doesn't print
line 5 with quantity 1, doesn't print
line 6 with quantity 1, doesn't print
line 7 with quantity 3, doesn't print
line 1 with quantity 1, doesn't print
line 2 with quantity 2, prints
line 3 with quantity 28, prints
line 8 with quantity 1, doesn't print
If this same job is printed on a Win XP PC it doesn't have any problems and all the lines and appropriate quantities are printed.
We are using Zebra setup utilities 1.1.9.1060.
we have a
ZM400 with firmware v53.17.11Z
ZM400 with firmware v53.17.9Z
ZM400 with firmware v53.17.5Z
ZM4Plus with firmware v60.14.3Z
These printers are connected to the PC over the network via a TCPIP address.
Also, we are using Windows driver Z4M 203DPI printer version 2.6.77 (Build 3827)
Let me know any other information you may need.
Thank you,
Tim Caldwell.
Related
I have an Intermec PX6i printer.
The label code is generated, saved as a .txt file and sent to the printer through TCP/IP connection.
Everything works perfectly, but when executed, it saves the current file to the memory and prints the previous label.
This means that i have to execute the print twice in order to get my requested label. Every other label is then discarded due to the fact that is is a copy of the previous successful label.
Even an empty FEED directly from the printer control panel, feeds an empty label and stores it. Then when I request a print job, another empty label is printed and the request is only saved.
Can anyone tell me why this is happening?
I have tried clearing the buffer before and after every request. The buffer seems to get cleared, but the print history still has the previous label somewhere and still reprints it.
I have tried sending the file without printing it and sending a second file with the print command, but it does not replace the previous label until the print is executed.
I have tried sending the file using a different title, but this does not replace the previous image.
I have used the CLL and CLEAR commands before the code, after the code and even in a separate print request.
I have tried with and without the PRINTKEY command. turned it ON and OFF , but still does not work.
This is my CMD code:
PUT ftpData.txt PR1
This is the label code:
CLIP ON
CLIP BARCODE ON
CLL
PP 0,95:AN 7
BARSET "QRCODE",1,1,4,2,2
PB "2762884799"
PP87,100:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "2762884799"
PP87,60:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "27JUL2019"
PP180,32:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "12"
PRINT KEY OFF
PF
CLL
CLEAR
RUN
CMD results:
ftp> open xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx.
220 EasyCoder FTP Server v.2024 ready.
ftp> user username password
331 Password required for admin.
230 User logged in.
ftp> PUT ftpData.txt PR1
200 PORT command OK.
150 Opening ASCII mode data connection for 'pr1'
226 Transfer complete.
ftp: 799 bytes sent in 0.20Seconds 3.96Kbytes/sec.
Then the printer prints, but not the current label.
Only the previously saved label is printed and this current label is saved.
Then on the next request, this current label is printed and that next one is only saved.
It turns out that the problem was not in the code, nor was it as a result of a buffer/memory problem.
Internal "Print Engine" settings needed adjusting.
In the past, the printer would feed an extra blank label after every print.
Also, it would retract a bit before printing.
So, to resolve this and streamline the print process, I changed STARTADJ to 0 and STOPADJ to -120.
This fixed the feed problems, but inadvertently caused this new "Reprint" problem.
The printer basically keeps track of where the print job stopped, then adds the new request thereafter.
Conclusion of what happened:
By setting the STOPADJ to -120, after every print command, it basically set the end position of the print job to before the last label started.
Because of this, the starting point for the next print job is before the last printed label, thus the last historic label will be the first to be printed.
It then executes a single print, as per the requested command and PF (PRINTFEED).
The result is that the previous label gets printed and stops before the new label.
This causes a kind of virtual queuing that is always one label behind.
If it was a multi-label print job PF 2 or more, the first label would be the historic version, then it would produce the correct labels thereafter, but still one less than requested because the end position of the print job will be before the last label executes.
I was looking into a bug where PdhLookupPerfNameByIndex was giving me a buffer size of 0 and discovered that there are 2 counters for "% Processor Time" and we were using the last one in the list (index 6 and 4676). The spanish language pack only has this counter once (index 6). I was curious as to why there would be 2 counters for the same thing in English and if there was a valid reason, why is it not included in the Spanish language pack.
Using Windows Server 2012 R2
I am using oracle forms 6i and want to print my POS invoice on thermal printer. I already have "continuous" printing directly on dot matrix printer where I am opening my LPT port through text_io package and generating invoice as per the requirement.
Now, the customer wants to generate the invoice on a thermal printer. Suppose, I want to print 9 lines on printer page then after 9 lines printing must be stop.
My code is as follows :
declare
pvf_file text_io.file_type;
vs_prn_port varchar2(128) :='LPT1';
begin
lpt1:= Text_IO.Fopen(vs_prn_port,'a');
text_io.put_line('This is a first line.' );
text_io.fclose(lpt1);
end;
Please guide me if you have any thoughts.
Today I finally found out what has been stalling my development process: Even though no errorcode is set, the function wglChoosePixelFormatARB returns 0 pixelformats.
I am trying to set up an OpenGL context in my C++ application and I have managed to retrieve the function pointers for the extensions.
glGetIntegerv(GL_MAJOR_VERSION, &maj)
returns 4 so, naturally, I assumed it would be possible to create an OpenGL 3.2 context. However, after finding out there were no matches, I started to comment out some of my requirements to go in the attribList parameter. There were no matches whatsoever.
Only when I, just to be certain, commented out
WGL_CONTEXT_MAJOR_VERSION_ARB, 3,
WGL_CONTEXT_MINOR_VERSION_ARB, 2,
I finally got matches. Out of the 8 matching pixel formats that the other requirements meet, not ONE of them seems to support version 3 of OGL.
Has anyone ever run into this? I have tried updating/reinstalling my video drivers, but nothing has changed. I am running this on Windows 7, MS Visual Studio 2008, and my graphics card is one from the AMD Radeon HD 7700 Series.
The WGL_CONTEXT_MAJOR_VERSION_ARB, WGL_CONTEXT_MINOR_VERSION_ARB and related attributes are not attributes of the Windows Pixelformat.
You must not use them with wglChoosePixelFormatARB().
Those options belong into the attribute list of wglCreateContextAttribsARB as defined by the WGL_ARB_create_context extension.
I have to provision over 30 QL420plus printers and I'm struggling with what I thought would be easy..
We are going to use the printers in conjunction with an in-house app we have written on Windows Mobile 6. Basically the app sends a stream to of CPCL commands to print a label. As the label has non-standard fonts we have created 7 CPF files that we need to put on the printer.
However the problem is that the new version of LabelVista (now called Zebra Designer v2.2.3) will not let you "Send a Font" like you could in the LabelVista that ran on Windows XP. You have to use the "Zebra Font Downloader". This is where the problem really comes home because it will not let you add a CPF file. You have to create a MMF file and then download it to the printer. This creates one big file which has the various fonts in it. This is pretty useless when the label format looks like this:
! 0 200 200 304 {8}
LABEL
CONTRAST 0
TONE 0
SPEED 3
PAGE-WIDTH 408
BAR-SENSE 50
COUNTRY UK
VT 7 0 280 220 {0}
VB EAN{13} 1 2 60 310 230 {9}
T Got08Bpt.cpf 0 5 3 {1}
T Got05Bpt.cpf 0 5 91 TICKET PRICE
T Got010Bpt.cpf 0 5 220 RETAIL PRICE
T Got012Bpt.cpf 0 5 240 {12}
T Got014Bpt.cpf 0 20 240 {6}
CONCAT 5 105
Got28Bpt.cpf 0 0 {10}
Got14Bpt.cpf 0 7 {11}
ENDCONCAT
FORM
PRINT
I need different font sizes for each text line written on the label, yet I can't download the CPF files individually to the printer.
I can't install the old verison of LabelVista becuase it won't let me install on Windows 7. I have read the CPCL Progrmaming guide from Zebra and that's ot helpful at all. Can anyone help or my Zebra account manager is going to have a really bad day. :-)
Thanks
Mike
Try the code I pasted here Sending a font file (.cpf) to zebra Qln320 printer over WLAN
I store font files in Oracle DB, load them to Windows CE device and send'em via BT to device. The only "bad thing" in this method is that printer off after each file downloading (buy the way when you load font file via USB from LabelVista the problem the same).
To delete file from printer you can use this String.Format("! U1 do \"file.delete\" \"{0}\"\r\n", FileName.ToUpper());
You can use "Zebra Setup Utilitites" to manage your printers. This software allows you to communicate with your printers and to configure them.