1. 使用Adobe Reader 命令行
AcroRd32.exe /p pathname 会弹出打印设置对话框
AcroRd32.exe /p /h pathname 不弹出打印设置对话框优点:可以正确实行循环打印:
for(int i=0; i< 10; ++i)
{
  AcroRd32.exe /p /h file[i];
}
缺点:会显示Adobe Reader窗口,打完后不会自动关闭!
这就要求我们找到一个方法来关闭它,目前没有好的方案去关闭这个窗口,因为我不知道什么时候(打印完成)去关!!!2. 使用AxAcroPDF
AxAcroPDF.Loadfile()
AxAcroPDF.PrintWidthDialog()
AxAcroPDF.printAll()优点:不会弹出Adobe Reader窗口,也就不用费心去想怎么关的问题了
缺点:循环打印没办法实现!!! 因为AxAcroPDF的print接口不等打印开始就会返回...3. 使用DDE
自己试了试,没成功,只能打开,打印命令不起作用!没有再深入研究上述1和2的缺点就是我想要向大家请教解决方案的问题!
先谢谢大家!http://heygirl-bulage.taobao.com/

解决方案 »

  1.   

    第一种方法,根据注册表项中文件关联的内容,找到AcroRd32.exe ,在打印完毕后,杀掉进程即可。
      

  2.   

    我原来做过 TIFF 打印,我觉得楼主可以尝试一下打印机,打印任务在打印机是可以排队的,可以通过WINDOWS 标准的打印状态查询函数查看打印的状态,或者可以这样实现,发送一次打印任务后,就循环查询打印机中打印的状态,直到发现打印机中的任务完成后,再发送第二个打印任务给打印机
      

  3.   

    使用 AcroRd32.exe /t “文件名” "打印机名"  来处理
      

  4.   

    第一种方法,根据注册表项中文件关联的内容,找到AcroRd32.exe ,在打印完毕后,杀掉进程即可。 
      

  5.   

    我的程序是asp.net后台调用Adobe Reader 打印 ,我的也关不了。。纠结中。。
      

  6.   

    1 找到窗口句柄,kill
    2 观察进程状态,AxAcroPDF是否会在打印完成后退出,如果是,则你可以监听进程列表,可以尝试从打印驱动入手,
    可以从打印端口入手
      

  7.   

    请问,后台调用Adobe Reader 打印,不弹出打印属性设置窗口,而是将打印参数在程序里边写死,如何操作呢,谢谢