NT的服务器。打印机装在NOVELL网上。NT网与NOVELL相连。NT服务器共享了NOVELL上的打印机。NT的客户端要求通过服务器使用NOVELL上的打印机。
在服务器上直接用copy函数把打印文件拷贝到端口上是可以打印的。但不能指定显示在打印任务列表中的文件名。

解决方案 »

  1.   

    1.在服务器端共享该打印机;
    2.在本机中安装驱动程序连接该网络打印机,并设置为确省打印机;
    3.请在本机中右击,控制面板->打印机下的该网络打印机图标,打印测试页,如果没有问题
    说明连接正常,然后编程如下:
    4.uses 
      ...,printers;
     if Printer.Printers.Count=0 then
       Begin
         MessageDlg('您没有安装打印机,请安装好打印机后再试。',mtInformation,
                      [mbOK],0);
         Exit;
       End
     else
       if PrintDialog1.Execute then
         Begin
           //The print job is not printed vertically on the page.
           if Printer.Orientation<>poPortrait then
             Begin
               if MessageDlg('您的打印方向选择的不是“纵向”,这可能将导'+#10+#13+
                   '致打印结果不正确,要继续吗?',mtInformation,[mbYes,mbNo],0)=mrNo 
                    then
                 Begin
                   Exit;
                 end;
             end;
           Printer.Title:='My print task title';//打印任务列表中的名称
           Printer.BeginDoc;  //开始打印
           Printer.canvas.textout(20,100,'测试打印测试打印测试打印测试打印');
           Printer.EndDoc;  //结束打印
         End;说明:
       这里只是简单的实例,具体的打印任务还要考虑打印机的分辨率、
    纸张大小,字体大小等等问题。
      

  2.   

    客户要求严格控制打印机,打印任务只能通过服务器中转。还有就是要打印的文件的打印控制信息已经包含在打印文件中了。打印文件是由autocad形成的PLT文件,其格式相当于在打印机的打印缓冲区(..\system32\printspool)形成的临时文件
      

  3.   

    问题解决了。用win32api。谢谢几位了。
      

  4.   

    我刚好遇到同样的问题,不知你用的是什么方法?
    是否Win32api的Escape呢?
    你救救我的命吧。