我开发了一个C#Web应用程序,它调用一个返回base64编码数组(PDF文件)的Web服务。然后我将该数组转换为UCOMIStream对象(我知道它已经过时,但我使用的DLL需要它作为参数)。我使用以下代码进行完美的转换。我可以将此对象传递给DLL,以便我可以打印PDF。
这在Web服务器上运行良好,但要求是在本地打印。
Byte[] bBuffer = statementOut.statementcycle.statementdata.content;
int size = bBuffer.Length;
IntPtr mem = Marshal.AllocHGlobal(size);
Marshal.Copy(bBuffer, 0, mem, size);
// Create an OLE Stream object.
System.Runtime.InteropServices.UCOMIStream str; //obsolete but the createstreamonhglobal outputs it
CreateStreamOnHGlobal(mem, true, out str);
DLL驻留在客户端上,因此我可以使用ActiveX来使用javascript和/或VBscript创建对象;但是,我无法弄清楚如何将流对象传递给客户端以传递给DLL。
如何实现这一目标?
答案 0 :(得分:1)
难道你不能只在服务器上生成pdf并让客户端下载它吗?
答案 1 :(得分:1)
让客户端下载base64编码的数组,然后将数据转换为UCOMIStream对象,并在客户端生成PDF。