用delphi编写的webservice,cgi格式,在服务器上无法打印成文件,直接输出到打印机倒是没问题,可是如果输出到类似Adobe Pdf(即打印成pdf文件)等这样的虚拟打印机,在打印界面系统即停滞,在服务器上直接执行没有问题,从远程一调用这个webservice到打印成文件这个步骤系统就停滞,IIS的匿名访问权限是管理员,有权限任意的生成文件和访问系统硬件,各位大侠有啥好的建议?

解决方案 »

  1.   

    写一个普通应用,它按某个约定格式的请求生成pdf,它开机自动运行或做成服务
    cgi只负责提供那个请求给普通应用
      

  2.   

    现在已经是这样操作了,打印到文件是一个单独的可执行程序,由cgi来调用,单独的可执行程序独立执行没有问题,用delphi自己带的webappdbg.exe做webservice服务器调用也没有问题,但是一旦用cgi来调用就不行,还是执行到那个地方停滞,而且没有程序界面,但确实调用了,进程里存在,但是用webappdbg.exe调用就有程序界面而且能调用成功,不知什么原因
      

  3.   

    直接调用 和 产生一个申请 是不一样的
    前者还是cgi进程的权限、环境,后者是打印程序正常的环境
      

  4.   

    to sz_haitao兄:   除了做成服务还能做成什么其他方式吗
      

  5.   

    不一定是服务,只要是一个始终运行着的gui程序
    它能按cgi提交的请求去生成pdf文件就行了
      

  6.   

    谢谢sz_haitao,cgi的请求和通信一般是通过什么方式比较好呢
      

  7.   

    最简单,通过一个数据库的表,cgi往里加信息(什么东西,生成到哪个目录,文件名。),打印程序定时查这个表或者通过文件、消息、共享内存。。