我開發了一個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。
這是如何實現的?
無法在服務器上生成pdf。我們正在尋找其他方式,因爲它是一個Web服務器場,他們不知道服務器是否有權訪問文件共享。 – 2010-06-10 12:05:05