You can pass the PDF content as either a direct URL, as you seem to be aware, or as a Promise that resolves to a ByteArray. In your code, the Promise can call another url that returns the PDF as a base64 or some other obfuscated format that then gets turned into a ByteArray.