Finally we made a custom JS Barcode script and a custom Print format for 1.5 X 1 Inch barcode labels.
Used it in Stock entry(material receipt) and Purchase Receipt. With batch number and expiry.
Also made a print checkbox in item row. If ticked then it will only print the item row checked to print.
Sample below:

Above image has the following:
Font used Sans serif with 10, and 8 size
Company Name.
Item Name
Item Code
Batch Number in Barcode Font.
Expiry Date and Price.
Everything can be customized thanks to frappe framework.