How to use the JAVASCRIPT_FUNCTION Component
Barcode to PC allows you to manipulate the barcodes and the variables by executing JavaScript code.
Examples of what you can do with this component
- Remove the first n characters from the barcode
- Remove the last n characters from the barcode
- Replace parts of the barcode
- Extrapolate the data encoded inside the barcode
and the list goes on and on, you can use pretty much any combination of JavaScript methods to manipulate the strings. You can find the full list here.
Setup
Step 1 – Add the JAVASCRIPT FUNCTION Component
To do that, Drag & Drop the component from the Available components field to the Output components field by keeping pressed the left mouse button.
Step 2 – Write the JavaScript Function
Click on the component that you just added, and type the function that you want to be executed inside the JavaScript field.
Step 3 – Add variables
Every time you use a variable inside the JavaScript field you’ll have to insert a corresponding Output Component that will assign a value to that variable.
For example if you use the barcode
variable, you’ll have to insert also a component in the Output template field, otherwise, if you don’t do that the JavaScript component will fail and won’t be executed properly.
To prevent the BARCODE component affecting the Keyboard Emulation output you can click on it and enable the Skip output option.
Examples
Example 1
Let’s say that you want to remove the first character of the barcode
Initial barcode: 0897654321
Final output: 897654321
Follow these steps:
- Add a component just after the component
- Add this code in the JavaScript field:
barcode.substr(1)
. - Enable the Skip output option of the component
Example 2
Extrapolate parts of the barcode
Initial barcode: 433-0132-22
Final output: 0132
Use the same procedure of Example 1, but use this JavaScript code instead: barcode.split('-')[1]
Example 3
Replace a specific part of the barcode
Initial barcode: first_name:john;last_name:doe
Final output: name:john doe
Use the same procedure of Example 1, but use this JavaScript code instead: barcode.replace('first_name:','name:').replace('last_name:', ' ')
Tip 1: to remove a specific part of the barcode you can use the replace() method, and pass an empty string as second parameter, for example: barcode.replace('a', '')
Tip 2: you can use a regular expression as first parameter, for example barcode.replace(/w/gi, '')
will perform a global, case-insensitive replacement of the w character.
Example 4
Extract a parameter from an URL
Initial barcode: https://example.com/?user_id=123&tracking_id=RN015215156&order_id=456
Final output: RN015215156
Use the same procedure of Example 1, but use this JavaScript code instead:
new URL(barcode).searchParams.get('tracking_id')
Is it possible to create a menu to scan information from different sections of the warehouse or different pallets?
Yes, you can use the SELECT_OPTION component to show the user a menu with multiple choices.
Alternatively, you can also set a DEVICE_NAME value to automatically determine from which smartphone the scan is originated. Example: https://youtu.be/LYN6KV3LiYo?t=242
I have writen a couple of JavaScript functions so that I can work out the human-readable text in the barcode Brazilian banks generate and I’m trying to use your app and server to “type” the code to the bank site. Problem is I can’t implement those functions in the JS FUNCTION component or, at least, I don’t know how! I can send my code for analysis or maybe get a few tips on ways to put more complex functions in the component. Thanks in advance!
Sure, send your code at [email protected]
Como puedo hacer que los resultados del escaneo, salgan en diferentes columnas del Excel.
Ahora mismo tengo todo en una misma casilla.
Muchas gracias de antemano
Do you have a separator character? Please send a sample barcode to [email protected]
Hola Como puedo hacer para llenar un formulario web con el resultado del escaneo de un pdf417 con el siguiente formato.
nnnnnnnn@name@number@xxxxxxx@yyyyyyy
Gracias
To scan PDF417 barcodes see this: https://barcodetopc.com/barcode-acquisition/how-to-scan-pdf417-barcodes/
To split the data by the
@
character you can follow this tutorial: https://barcodetopc.com/output-template/how-to-extrapolate-data-from-qr-code/The only difference is that the tutorial explains how to do it with the
\n
characterIn my company the CRM export a file .txt, and we need to put on the cellphone (or the barcode server) and make the Android to read a barcode on the tag and compare with this file, it is possible?
In meanwhile this document necessery to unique barcode for all document, let me try to explain example , barcode 1234 insert and when the person scan 1234 again he has the message its equal and don’t copy, it’s possibly too?
Yes, you can do that by using this Output template:
Basically, it queries the .txt file using the CSV_LOOKUP, and then uses the
csv_lookup
variable inside the IF component to check if the barcode is present.You can download this Output template here: https://barcodetopc.com/examples/prevent-duplicated.btpt
You’ll need to update the .txt file path by clicking on the CSV_LOOKUP component
hi , my barcodes that i read in my phone is encrypted by (base 64 ) , so who can i use javascript function to decode it directly without use anther program
Yes, you can do it by using this code:
atob(barcode)
Hi,
Is it possible to read the QR code and run the printing program? Then execute “command + P” (print)? All in one read QR code.
Yes, you can do that by using the CUSTOM KEY component, like this:
If you only want to trigger the print page and ignore the QR code contents, you can enable the Skip output option in the BARCODE component.
You can download the Output template here: https://barcodetopc.com/examples/Print.btpt
Hi
I work in Pharmaceutical industry and recently in Europe they introduced SecurPharm Symbology
I do not have any programming knowledge so i have been reading around various articles untli i found yours amazing tecnology.
So Basically i have a need to store Captured Barcodes in text only to input them at a later time in a webpage for validation. I cannot though emulate those special characters like , , , , ,
Is there a workaround ?
Many thanks in advance
To make it work inside websites you have to replace the special characters using curly braces, eg.
{GS}
.You can import this template to make the server replace the characters for you: GS Characters.btpt
More about special characters: https://github.com/fttx/barcode-to-pc-server/issues/161
Hi, how can I save barcodes into a database? I’m using phpmyadmin and I want to retrieve the data in my sales inventory website in PHP
You could use the RUN component to execute SQL queries, see: How to use the RUN Component
You can create your own script with a language you’re familiar with or if the query is simple enough you can use a command like this:
mysql -u USERNAME -pPASSWORD -N -B -e "INSERT INTO products ... ;"
Note: there isn’t space between the -p parameter and the password
How can I extract two different variables with the same name? For example, I want to get “select_option” twice with different values but when I get them it just appear the last value of the last “select_option”
That is not possible since the variable name is the same and will be overwritten from the second component.
A workaround could be to use a RUN to store the value of the first select_option in the “run” variable. I created a sample output template: http://barcodetopc.com/examples/MultipleSelectOption.btpt
Double-click on it to import.