Thanks Rubens/Sean/Dmitry,

I decided to switch to the long strings route as the documents are small.  I couldn't get this working either but it was because I wasn't reading the stream in a number divisible by 3 (I was just doing a .ReadLine() ).  Have performed a Read(12000) and it now works a treat!  PDF opening up in the supplier's system.

do context.streamPDF.Rewind()
while 'context.streamPDF.AtEnd
{
  set line=context.streamPDF.Read(12000)
  set context.strDocument =context.strDocument_line
}
set context.strDocumentEncoded = $system.Encryption.Base64Encode(context.strDocument)