Java barcode printer module(repost)

Cancelled Posted Jun 22, 2009 Paid on delivery
Cancelled Paid on delivery

I need a small Java application, witch enables me te print BarCodes. The application will recive all data throught SOAP services, from an already done php based soap server.

Programmer should have java barcode printing experiences. Barcode templates will be implemented as java classes. (you have to implement only 1 sample template) The program have to download the template, and call its print method, so you sholud know, how to attach a downloaded java class.

Further requirements: Documentation in english, j4log - logging by SOAP service calls, JUnit test cases.

## Deliverables

# Webiris Barcode Printer

Code Nickname: webirisPC

Programming language: JAVA

### General introduction

The point of this program is to offer barcode printing and other quick responsible services for our web-based optician administrator ERP system called webiris. As a browser can't print barcodes in an easy way, we need this small, installable program, to do this job instead of the browser. We plan to extend this program later by further functionality witch can't be resolved by a browser, so it sould be designed to be extensible. I mean the code sould be well structured and nicely documented. The program must support multilanguage output. At start it should support english, and hungarian. The language of the development is english. The program must support some kind of silent update. (i don't know, whether a java runtime can update it's own files, if it can't, we need a little updater app.)

### The program in action

When the program starts, immediatly go down to tha system tray, and shows a message bubble, saying 'WebirisPC started'. After a few seconds it dissapears. The program icon will be the same as [url removed, login to view] favicon. By right clicking on the sys tray icon a menu appaers, shwoing the following submenus:

- Setup

now only this one menu item, but leater it could be more.

On the setup screen you can set the following configuration variables:

Username:

Password:

Printer setup (choose printer

Possibility to remember user name and password (these should be stored somewhere, and the user should be logged in automatically at next start)

username and password should be stored in a simple file, later we could encript its content.

### **Communication**

The program will communicate with SOAP. The SOAP server is a PHP based application. It provides all the necessary services. The server application is already done and working.

When the program starts it logs in to the server, and ask for the users template. Basically it requests new commands from the server every 10 second. If there is something to print, then sets its timer to 1 sec, so from this pont it will ask for commands more frequently. it stays in this mode for 5 minutes. Maybe leater we will implement a new request on the server side, so we can tell the client that no users are online, so it can fall back to normal frequency.

Printing a barcode should be implemented both with bitmaps (jpegs generated by the server, or small pdfs) and if it proves to be too slow, the EPL2 protocol should also be implemented for the faster communication with the barcode printer.

For printing we will use Zebra LTP2844. It would be nice to find a printer emulator for tests, but I haven't found yet, so you sould implement it by the factory descriptions.

The specification of the default label can be found here:

[url removed, login to view]

### Barcode printing drivers

The drivers for barcode printing (and the templates too) will be managed by Java classes. So after logging in, the webirisPC program should check if the given template driver is already downloaded, and up2date. If it isn't it should download the driver throught http.

### The printing process

Barcode printing

The login process gives the following information (provided by login() ):

Shop name: String

Shop address: String

Shop logo: image

then every print job will have thease information (provided by getPrintJob() ):

Barcode: String

Item name: String

Price: Integer

Currency: String

When we got the print job

The program must be able to handle the printing in two modes.

1.: fast barcode printing. In this case the server downloads the logo that belongs to the barcode in the first place. The logo is downloaded only one time at the login. After that, in case of fast printing, only the necessary information for the barcode printing will be sent (item's name, price, barcode, currency) to make printing faster.

2.: A picture or a pdf file is printed. In this case the function call returns with the specific picture or pdf.

#### Handling barcode template

We want to make the barcode templates as downloadable, compiled java classes. All such classes will implement the WebirisBarcode interface. This way we can create any kinds of templates and we can print them in many ways. If we have to print a template that cannot be found locally then the appropriate template is downloaded from the server, and uses it. The refresh must also be solved, so, say, it can check at startup if the downloaded templates have newer version on the server.

### Error report

We want to use this program for reporting errors and bugs occuring in our system. The users must be able to report errors and bugs in a simple and clear-cut way. Therefore the print screen key should be reserved for the program, and when the user hits the printscreen key, the program makes a screenshot, and also a window pops up, where the bug can be described with text.

When the user finished describing the bug, the description is sent to the server along with the picture with a SOAP call. This functionality should be made at a later milestone.

### Directory structure

The files that belong to the program will be accessable at [url removed, login to view]

Directories will go something like this:

[url removed, login to view] - downloading the java program, latest version

[url removed, login to view] - the SOAP server

[url removed, login to view] - latest template classes

### SOAP methodes

The latest version of the SOAP server is accessible via

[url removed, login to view]

#### function login(username, password)

Logs in the user, the session is created on the server side. It returns a false value at unsuccesful login. When the login is succesful the following data structure is returned:

Shop name: String

Shop address: String

Shop logo: image

#### function checkUpdate()

Checks if the program has a newer version. If yes, it alerts the client program which starts updating.

#### function getPrintJob()

Fetches the next print job.

If there is nothing to print, it returns the NoPrintJob=1 constant.

If there is nothing to print, and the specific user is not logged in to the system, it returns the

NoPrintJonIdle=2 constant.

If there is a print job and the element to be printed is a barcode then the following data structure is returned:

Barcode: String

Item name: String

Price: Integer

Currency: String

Template: String

If there is a print job and it is a picture then the call returns with a JPEG call.

If the print job and it is a PDF then it returns with the specific PDF document.

#### function sendErrorScreen(message:Sting, image:JPEG)

Serves to send the error report. This one has the lowest priority, this will be the last feature we implement.

#### function logout()

Logs out the user and closes the session that belongs to the user. This function must be called when the user initiates it and also when the system initiates halt.

### Further requirements

Documentation in english, j4log - logging by SOAP service calls, JUnit test cases.

One should implement it using NetBeans or Eclipse. (NetBeans preferred)

### Installer

The program should be packed in an installer. It shold be installd as a step by step easy install procedure. A single jar is not enought.

## Short description

I need a small Java application, witch enables me te print BarCodes. The application will recive all data throught SOAP services, from an already done php based soap server.

Programmer should have java barcode printing experiences. Barcode templates will be implemented as java classes (you sholud implement only one sample template). The program have to download the template, and call its print method, so you sholud know, how to attach a downloaded java class.

Further requirements: Documentation in english, j4log - logging by SOAP service calls, JUnit test cases.

CRM Engineering Java Linux Microsoft MySQL PHP Project Management Software Architecture Software Testing Windows Desktop

Project ID: #3950833

About the project

5 proposals Remote project Active Jul 15, 2009

5 freelancers are bidding on average $400 for this job

sayedr

See private message.

$425 USD in 20 days
(10 Reviews)
3.6
sozcelik87

See private message.

$382.5 USD in 20 days
(1 Review)
1.3
gclweb

See private message.

$382.5 USD in 20 days
(1 Review)
0.0
mahmobha

See private message.

$425 USD in 20 days
(0 Reviews)
0.0
manojsinghal

See private message.

$382.5 USD in 20 days
(0 Reviews)
0.0