Acrobat虚拟PDF打印机执行打印时挂起,解决办法竟然是删注册表项。

作者:Sender Su  来源:原创内容  发布日期:2013-03-06  最后修改日期:2013-03-06

由于工作需要,购买了一套正版的(没错,我特意强调这点)的Acrobat 9,安装在一台计算机上专门用来进行文档转PDF的自动化过程。转换工作是通过Acrobat的PDF虚拟打印机来完成的,工作了几年,一切良好。

本来在正常情况下,PDF虚拟打印机被设置为默认在C盘根目录下面创建PDF文件,不提示输出文件名。但突然PDF虚拟打印机就不工作了,不向指定的位置输出PDF文件,而是自动改为向当前用户的“我的文档”位置输出,不过,更糟糕的是,它一旦出现创建进度对话框后就停住了,没有任何PDF文件被实际生成。除非手工杀掉Acrotray.exe进程,否则那个创建进度对话框就一直停留在那里。

重启计算机,故障依旧。

心想,问题出在那里呢。这种故障太莫名其妙了。仔细观察那个停住不动的创建进度框(平时正常工作时,这个创建进度框一闪而过从来都没去管过),发现了一件事情:进度框里面的“文档名称”下拉框是可以点击的,点击后可以看到大量之前生成的文档的文件名。

 

创建PDF进度对话框

(这个截图是正常工作情况的,排障时只顾着找原因,没截下来)

这样啊,是否有打印任务没有完成导致堵塞呢,于是查看Windows的打印任务池:

C:\Windows\System32\spool\PRINTERS

但是,里面空空如也。

看来不是这个问题。那么,估计问题可能还是在PDF虚拟打印机的设置上。于是进去注册表,首先检查了打印机的设置,位于

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\Adobe PDF

根据经验检查了一下,看上去都正常。那么问题不在打印机上,那就有可能是Distiller的问题了。这里顺便解释一下,Acrobat Distiller是Acrobat里面的一个重要部件,是负责把用PostScript描述的页面数据转换为PDF格式的。

Adobe Distiller 9 Splash

于是转去看Distiller的设置,当在注册表里面点到

HKEY_CURRENT_USER\Software\Adobe\Acrobat Distiller\PrinterJobControl

位置时,注册表编辑器整个挂起了。马上可以意识到,这只有两种可能,要么是注册表文件被破坏了,要么就是这个位置下面太多键值!

换了一个第三方的注册表编辑器Registry Workshop(是我用过的最好用的第三方注册表编辑器,下载),转到刚才的位置一看,好家伙,几年来生成的PDF的文件名都在里面,足有26万条(这个数字很正常,自动化生成PDF嘛)键值。这下子问题的的解决方案很清楚了:全部删除。

考虑过直接删除PrinterJobControl项然后重建,不过还是选择了删除键值的方式。结果删除过程之漫长,足足用了2.5个小时。期间搜索了一下这个注册表项,原来Adobe有解释的:

http://livedocs.adobe.com/acrobat_sdk/9/Acrobat9_HTMLHelp/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Acrobat9_HTMLHelp&file=Distiller_WinIntro.61.11.html

大约说的是,这个注册表项用于控制Distiller在生成PDF时不提示生成文档的名称。帮助信息里面说,这个信息在Windows API StartDoc成功执行后就会删除。但是,很明显,这些信息没有被删除,具体原因就不得而知。

删除完毕后,顺便还用Registry Workshop整理了一下注册表,把用户部分的注册表文件从未整理的25M缩小到了1.4M。重启计算机,一切正常了。

 

本栏目相关
  •  2013-03-06 Acrobat虚拟PDF打印机执行打印时挂起,解决办法竟然是删注册表项。
  •  2022-02-14 如何在PDF文档上应用数字证书才能具有法律效力?
  • 本站微信订阅号:

    微信订阅号二维码

    本页网址二维码:

    本栏目热门内容
  • Acrobat虚拟PDF打印机执行打印时挂起,解决办法竟然...
  • LINKSYS交换机登录WEB界面显示不正确的解决方法
  • 又一次RAID 5阵列故障记录
  • 解决VMware vSphere ESXi 5.0 Update 1 中虚机不能...
  • 修改CentOS发行信息以绕过Dell服务器BIOS更新和DSET...
  • 解决虚拟化运行的 Windows Server 2003 标准版出现...
  • Windows Server 2008 重命名域和域控制器
  • Intel Nehalem CPU Errata 导致 VMWare ESXi(vSpher...
  • 一次很精神的电脑组装过程记录(但不是自己的电脑)...
  • 解决MySQL Cluster 备份总是失败,提示文件已存在的...
  • MegaCli安装及使用杂记
  • 解决WSUS显示客户端不全的问题
  • 解决 VMWare vSphere 6 客户端无法修改用户密码
  • 解决Windows Server 2008 R2域控制器显示无法连接到...
  • 本站服务器RAID 5阵列双硬盘失效挽救记录
  • 网站数据库从MySQL 5.0升级到5.6的记录
  • 解决MariaDB使用Percona XtraBackup增量备份出错
  • DELL PowerEdge 820 报CPU3 INTERNAL ERROR 的解决...
  • Linux 下的分区调整工具GParted实战
  • 修改arpwatch使通知邮件主题显示IP地址
  • 程序员漫画:如何用8种不同的编程语言去解救公主
  • 解决Samba WINS服务的错误解释问题
  • 解决很好用的多合一即时通信软件pidgin的崩溃问题
  • 使用 GParted 进行虚拟机硬盘分区调整操作
  • 解决Squid代理HTTP时在浏览器出现Content Encoding ...
  • 用Delphi编写使用到ADO的DLL的一些问题
  • 网站简单改版
  • 索尼系列手提电脑备份失败,出现700错误的解决办法
  • Dell R900服务器 BMC firmware incompatible with C...
  • 更多...