Plus one for the LFS approach, (I wrote this before noticing it was in Eduard's more complete solution.
If you don't need to keep the spaces, because they're the delimiter, I find that $LFS works as a quick and dirty. It depends what you want the punctuation for. You can put spaces back in when do something with the list if you need them.
I have been working on this recently and tried the links in this and other questions, but in the end settled for using Chrome. It was easier, quicker and less moving parts as Chrome was already on the servers.
S s1=$ZF(-100,"/LOGCMD /NOQUOTE /STDOUT+=e:\logs\H2POUT.log /STDERR+=e:\logs\H2Perr.log",strExePath,"--headless --disable-gpu --print-to-pdf-no-header --print-to-pdf="""_strPDFPath_""" """_strHTMLPath_"""") // For some weird reason this flags as an error when it completes, no idea why, but its not valid.
//w "S1: "_s1,!!
//I $$$ISERR(s1) Q $SYSTEM.Status.GetErrorText(s1)
I ##class(%File).Exists(strPDFPath)
{ Q "1*"_strPDFPath }
ELSE
{ Q "0*Error Occurred" }
That looks like a fun thing to play with and get setup. I will have to give it a go.
Your last code example however looks a little confusing as your .Scan() method returned the Data: SHIPPER and 28083901 yet the barcodes JSON has SHIPPER and 12345601.