Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Label/Barcode/Inlay Printing #21

Open
Drachenkaetzchen opened this issue Jun 8, 2011 · 16 comments
Open

Label/Barcode/Inlay Printing #21

Drachenkaetzchen opened this issue Jun 8, 2011 · 16 comments

Comments

@Drachenkaetzchen
Copy link
Member

We wish to:

  • Print labels or barcodes for storage locations
  • Print inlays for different types of containers (e.g. H1 Boxes which are common in germany)

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@Drachenkaetzchen
Copy link
Member Author

Also printing barcodes or labels for parts should be done.

@djeremie
Copy link

Hi Timo, I am Jeremie, I think we are going to give a try to PartKeepr, the main feature I can see we would love to have quickly would be the possibility of code bar label printing (to be used with a cheap code bar label printer) and the possibility to have a code bar reader that will link directly to the part. Do you know if this can be done quickly, if you have a lot of more important bugs to fix first you could maybe help us explain how we could implement it and we can maybe make it and send you the feature. Cheers

@Drachenkaetzchen
Copy link
Member Author

Barcodes is currently a low-priority issue. However, if you like to step into development, I'd appreciate it! I usually hang around in IRC, so I can assist you with setting up a development environment and explain some of the PartKeepr internals. Also it would certainly help to discuss where to implement the feature, I really haven't thought much about it yet.

Things which come into my mind are:

  • Barcode printing for storage locations
  • Barcode printing for individual parts
  • Can barcodes be generated on the fly from within JS, or should the barcode be generated in PHP by the server? Which libraries exist and can be used?
  • Which information would be needed on the barcodes?
  • Barcode readers usually work by simply generating keystrokes into the currently focused textfield. How would PartKeepr handle this?

@scrupeus
Copy link
Contributor

Limited barcode support has been added - see #174
Further support will be added shortly - any comments/ideas welcome!

@Boldie
Copy link

Boldie commented Jan 6, 2013

Maybe there is an interesting alternative:
We may thing of having an Android app, which can do the Barcode reading for us, sending it to the server, the Client inside the Browser can then somehow poll for the server to get the code. another interesting thing may be to use the camera image too. (Somehow the Webcam Plugin is a worse solution I think) .

This is a cool and Open Source App, we can modify for this task.
http://code.google.com/p/zxing/

@QueerCodingGirl QueerCodingGirl removed this from the Version 3.0 milestone Sep 20, 2015
@vlad-ivanov-name
Copy link

It seems like label printing was supported at some point (https://wiki.partkeepr.org/wiki/Category:Printing), but I can't find how to enable it in a recent version of partkeepr, why was it removed?

@Drachenkaetzchen
Copy link
Member Author

@resetnow it was removed since I couldn't contact the original author, and I wasn't able to grasp how it worked. As a result, I wasn't able to maintain the code.

As mentioned on several occasions: In order to re-implement printing I need to know how the workflow should be. Like what do you expect PartKeepr to do. Please open a feature request stating how printing should work.

@vlad-ivanov-name
Copy link

@FELICITUS thanks for explaining. I'll post about the expected workflow a bit later today.

@vlad-ivanov-name
Copy link

@FELICITUS I think the initial workflow should cover the following use-cases:

  1. Each part type is stored in an individual storage location (say, zip-lock bag).
  2. A single storage location may contain multiple parts (box)

Having a barcode would be useful to quickly write off a part. After a barcode is scanned, user can view the contents of storage location (and make a quantity adjustment with a comment — this, however, goes out of the scope of this issue).

Here is how a label and a user interface may look like:

Encoding a part number in a barcode may not be the brightest idea, maybe internal part ID would be enough?

I don't think PartKeepr should handle the printing itself, wouldn't it be too complicated? Just PDF export is good. There are two possible cases with PDF: either ISO page filled with multiple labels or a single page for each label — the label printers I've used behave just like a regular printer, just with a smaller paper/page size.

I understand that this is quite a lot of work, so these are just a thoughts. As a temporary and half-assed solution, I have written a small nodejs script which parses CSV exported by PartKeepr and generates a HTML with barcodes (with a help of zint). As for libraries, there is picqer/php-barcode-generator.

@GonzElo
Copy link

GonzElo commented Mar 29, 2016

Hello,
I am a new user of partkeepr,and I was interested in managing not only component but some lab instruments. Thus, marking components and instruments with barcodes would be useful. Adding ideas to the previous one, I was thinking that the "internal part number" must be a good option to create a code, because each user could deside an appropriate and efficient codification.

Thus, Barcode could have the option from:

  • Part number
  • Internal part number
  • Storage location

Some time ago, I did a small research, and there are several barcodes standards, and I wanted to use Code128, since it support numbers, characters uppercase and lowercase of variable lenght, among others, and having a high density design (I think barcode should be efficient in space, that is, for a certain string length the code should use not too much space). In other words, it would be necessary to select among kinds of codes too:

  • Code 128 (A, B or C)
  • Code 39
  • Code 93
  • EAN 13
  • ...

Regarding the printing, I agree that exporting a vectorial image should be enough to send them to label printers.

On other issue, I think it would be even better not just creating a barcode, but manage "internal part numbers". For example, if I create a part number for a component of some kind, probably one would choose some field of the code to signify that kind, and numbers to differentiate them. It would be good to have an aid when creating a new code, so once a part of the code is written, a list with other already created codes appear, so as to know which would be the consecutive number. Even better if the aid suggest which would be the next free code having the same root code.

In my case, to clasify instruments I have a code with several alphabetic fields, each with a meaning that obeys to a clasification variable. My dream about that is that the new item is created generating a code automaticaly chosing those clasification variables. For example, to create a new component and its code one must chose from some user defined parameters:

  • Parameter 1 having two options: Passive / Active > P / A
  • Parameter 2 having three options: Resistor / Capacitor /Inductor > R / C / L
  • Parameter 3 having n options: Option1 / Option2 / Option3 / Option 4 > O1 / O2 / O3 / O4
  • Parameter 4 having a correlative number with 4 digits: 0001

from three drop down option for parameters 1 to 3, one should choose its option, and the number of parameter 4 must be created automaticaly form the last available number from the combination of parameters 1 to 3. Choosing the first Passive componente, Capacitor, Option 3, the generated code would be PCO30001.

Sorry if I changed the subject, but this is my proposal.

@vlad-ivanov-name
Copy link

resetnow/partkeepr-label-gen

@Boldie
Copy link

Boldie commented Apr 17, 2016

@felecitus: I was the original author and it is possible to contact me via github. Sadly my work seems to be lost, I hate such things. Ok its your choice, but it was my time.
I hope it will be reimplemented again, but keep in mind, there are many use-cases, my plugin supported the following 2 ones:

  • Printing a overview of labels for storage locations on a big PDF page which enables one to create labels for them.
  • Printing single labels using special label printers for storage locations and also for single parts to make them identifiable in a chest.

The second one was the more complicated stuff and I have decided to support a generic approach to this use-case by implementing a template like engine.

@Boldie
Copy link

Boldie commented Apr 17, 2016

@GonzElo Exporting image bitmaps is not fully sufficient to support label printers. There are many on the market having a special syntax rendering the barcodes by itself. Have a look at there: https://www.zebra.com/content/dam/zebra/manuals/en-us/software/zpl-zbi2-pm-en.pdf The printer itself is easy to feed, just write the text to the device on unix, which does the other little python script implemented by myself in my git repos. The problem with PartKeepr is to create a client which is able to print by itself without using the browser.

@spacemig
Copy link

any updates on this issue? if only it would be possible to have a part "page" with an associated link (ex: https://demo.partkeepr.org/part/1234) then we could link QR codes directly to the parts. That's what I'm looking for.

@Drachenkaetzchen
Copy link
Member Author

No updates so far, this issue depends on #536

@lgm42
Copy link

lgm42 commented Nov 22, 2017

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants