i want to use the 1C Barcode printing control in my application but the control is in russian. Has anybody an idea to change it to english?
My problem is, i have to print an Code128 Barcode on my document. The Barcode ha over 50 characters. the barcode must printed only on the width of 13 cm.. With this width, i have a blank Control. Where can i tell 1C to fit the barcode in this field?
You can see some examples in 1C:Small Business. See Setup and Administration -> Connected Equipment. Note that Setup and Administration -> Service Functions Settings -> Use External Equipment must be checked.
The 1C Barcode component has russian installation module (setup.exe). Unfortunately there is no other language available for installation program. Actually, you can use the barcode component 1CBarCod.dll without the installation program, because it is a standard COM component. It can be installed either by regsvr32.exe or automatically by loading the DLL by platform itself. For both possible operations administration privileges and elevation are required. The syntax of regsvr32.exe call is simple: regsvr32.exe 1CBarCod.dll
The 1C Barcode component itself is an international component and has two internal methods implementation (en and ru). It can be used in international applications without limitations.
The 1C Barcode produces barcode which fits automatically. Each time the component field expands, the thickness of bars adjusted automatically to fit the field. For each type of barcode there is the minimal thickness of one vertical bar. Based on the minimal thickness the barcode component calculates the minimal width of place required to draw a barcode. If available width of component field is not enough to draw a barcode with minimal width - then only blank space appears. Simply try to make a field larger and you'll see that drawing appears.
In practice, the canvas resolution of display and printer are differs. The display usually has only 96 DPI, and the printer usually has 300 DPI and more. That means, the barcode component which can't be showed on the display preview, can be though normally printed. You can try to make some test changing the size of barcode field and print it with current printer resolution. Then you'll find a minimal size of barcode which can't be shown in a print form on screen, although can be normally printed.
The second way to put more information in the same place is to choose a barcode type with a minimal thickness of bar (yes, they are differs!) So the minimal bar from the commonly used barcodes has a Code128 subversion "B". This subversion has a suitable character table and besides it is very compact. Note, that subversion "A" and "C" taking more place then "B".
In my experience in enterprise solutions, I highly NOT recommend to put 50 characters in the same barcode. The really good readable by the laser (the CCD is not suitable) scanners - barcode length is ~100 mm and shorter. And in practice you can put in it max 20-25 characters.
The possible solutions:
- Divide the barcode on the 2 or more parts, and insert in data IDs of each part of barcode to identify properly scanned data.
- Use 2D barcodes (and 2D scanners). Which barcode type to use, depends on available scanners you can use. My recommendation: PDF417 or Aztec.
thank you for your answer.
i have testet all what you write, but i only become the russian interface. in 1C if i right-click the barcode-component then i get an application hang and 1C crash.
Now i have tested another Barcode-Component called <deleted as ad> and it is great. All what i want works. Also PDF417.
Actually i've accessed the 1C Barcode component using API only and it's working fine.
Area.Drawings.EAN.Object.CodeValue = "1234567890128";
- Area - is area cells of table document;
- Drawings - is a collection of attached drawings;
- EAN - is a name of drawing containg ActiveX object;
- Object - is drawing property referencing 1C Barcode object;
- CodeValue - 1C Barcode property containing text for constructing the barcode.
yes that works fine but, i must print a NVE-Barcode. This is an Code128. The Codevalue eg is:
The max. width of the drawings is 12,5 cm and high is 3,5 cm.
If i do the, the barcode does not fit in this drawing feld and is blank. Than all descriptions on the property page of 1C Barcode in Designer mode are in Russian language an i do not understand Russian.
- Set text color: SetTextColor(Red, Green, Blue) – sets color by the components RGB in range 0-255
- Set bar color: SetBarColor(Red, Green, Blue) – sets color by the components RGB in range 0-255
- Set background color: SetBgColor(Red, Green, Blue) – sets color by the components RGB in range 0-255
- Set font: SetFont(FontName, FontSize, FontWeight, Italic, Strikethrough, Underline) – sets font for barcode text. Example: SetFont("Arial", 10, 400, True, False, False)
You can use a Printer with higher resolution. Remember, that even if your barcode is not displayed on the screen, it still be possible to print it out. I think, that in worst case you'll need a printer with 1200 DPI, which is 12.5 times more then usual screen resolution of 96 DPI. The question is, which scanner will be able to read such compressed barcode, but this is not related to 1C Barcode itself.