http://riashanghai.com/zh-hant/node/42
在Windows下用Java实现静默打印PDF,而又不想用别人的PDF库来打印PDF的,在这里总结两个比较流行的偷懒方法。
支持在Windows cmd下打印PDF的命令有很多。之所以介绍下面的两个方法,是因为其软件使用普及率比较高。
两个方法都要安装一下三方的PDF浏览软件。
分别是利用Acrobat Reader 和 GSview。
Acrobat Reader 方法
前提是安装 Adobe Reader
代码如下
public static boolean printPdf(String pdfPath){
try{
Runtime.getRuntime().exec("cmd.exe /C start acrord32 /P /h " + pdfPath);
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}
}
这里调用了Adobe的acrord32.exe方法,相应的,介绍下这个命令的参数。
AcroRd32.exe filename - 执行Adobe Reader,并且浏览PDF
其他还支持的参数有:
AcroRd32.exe /p filename - 执行Adobe Reader,并且打印一个PDF文件
AcroRd32.exe /t path printername drivername portname
初始化Adobe Reader, 不弹出打印对话框,然后结束打印
/t 命令所需的四个参数有
path - 打印文件路径
printername - 打印机名字
drivername - 打印机驱动名字
portname - 打印机端口
其他的参数:
/n 开一个新的Adobe Reader, 尽管有Adobe Reader已经打开 (静默打印不用)
/s 打开一个Adobe Reader不开splash screen
/o 打开一个Adobe Reader不开打开文件对话框
/h 以最小化方式打开一个Adobe Reader (静默打印使用)
Ghostscript 8.63 for 32-bit Windows
GSView 4.9 Win32 self extracting archive
代码如下
public static boolean printKitchenPdf(String pdfPath){
try{
Runtime.getRuntime().exec("cmd.exe /C \"c:\\Program Files\\Ghostgum\\gsview\\gsprint\" -printer myprinter " + pdfPath);
return true;
}catch(Exception e)
{
e.printStackTrace();
return false;
}
}
这里用到的cmd命令是gsprint. -printer 是指定用哪个打印机来进行打印。其它的参数过多,推荐到官方网页进行查看。
值得注意的是,gsprint在命令里面,不能通过参数来设置纸张的大小,只能在Windows的打印机驱动里面设置。
在用Adobe Reader方法指定打印机进行打印时(非默认打印机打印),Adobe Reader总是会从最小化状态变成激活状态,本人不知道用什么方式使Adobe Reader隐藏窗口。推荐用gsview方法来做指定打印机的打印。
分享到:
相关推荐
在Java编程环境中,调用实体打印机来打印PDF文件是一项常见的任务。这通常涉及到将PDF文档内容转换成打印机能够理解的格式,然后通过Java的打印服务API进行操作。在这个过程中,我们需要借助特定的库来处理PDF文件和...
总的来说,GSPRINT结合Ghostscript的静默打印功能,提供了Python开发者一种强大的工具,用于自动化处理PDF打印任务。掌握这项技术可以提升工作效率,减少手动操作,尤其适用于企业内部文档处理流程和服务器端的无人...
在IT行业中,尤其是在开发零售或餐饮系统的背景下,Java调用小票打印机打印购物清单是一项常见的任务。这个过程涉及到几个关键的技术点,包括打印机驱动的处理、串口通信、文本格式化以及与硬件设备的交互。以下是对...
`pdfbox-tools-2.0.8.jar`则包含了额外的工具类,其中包括了PDF打印的功能。 以下是使用PDFBox 2.0.8打印PDF的基本步骤: 1. 引入依赖:将这三个JAR文件添加到项目的类路径中,或者如果你使用的是Maven或Gradle,...
本话题主要关注如何利用Java调用WPS(金山办公软件)来实现Word到PDF的转换以及Word到图片的转换。这些功能对于处理大量文档和报告的企业尤其有用,可以自动化工作流程,减少手动操作。 首先,让我们了解WPS。WPS ...
标题和描述中提到的知识点主要集中在如何...综上所述,该文档提供了一个Java程序调用TSC条码打印机DLL库的示例,涵盖了打印机的基本操作方法和参数设置,这对于开发一个与TSC条码打印机交互的Java应用程序非常有帮助。
GSPRINT则是专门用于PDF打印的辅助工具,它扩展了Ghostscript的功能,使其支持无用户交互的打印。GSPRINT的压缩文件`GSPRINT.rar`需要解压并安装到系统中,这样在调用Ghostscript进行打印时,可以利用GSPRINT提供的...
通过研究这些源码,你可以更好地理解和掌握易语言中控制台调用CMD命令的具体实现方法。 总之,易语言控制台调用CMD命令是一项实用的功能,它可以帮助开发者扩展易语言程序的能力,实现与操作系统更深度的交互。通过...
在IT行业中,静默打印PDF是一项重要的任务,特别是在自动化流程或无人值守的环境中。Adobe Reader是一款广泛使用的PDF阅读器,而C#是一种流行的编程语言,适用于开发桌面应用程序。结合这两者,我们可以实现PDF的无...
Java 调用 OCR 进行图片识别 Java 调用 OCR 进行图片识别是指使用 Java 语言调用 OCR(Optical Character Recognition,光学字符识别)技术来识别图片中的文字信息。这种技术可以将图片中的文字信息提取出来,并将...
Java 调用 JS 方法详解 Java 调用 JS 方法是指在 Java 代码中调用 JavaScript 代码的方法,从而实现 Java 和 JavaScript 之间的交互。在本文中,我们将详细介绍 Java 调用 JS 方法的实现步骤和相关知识点。 Java ...
java调用第三方dll心得,文档格式pdf
使用方法: (1)导入Command.jar工具包 (2)Command.exeCmd("cmd命令")//该方法返回String
通过这些基础知识,我们可以灵活地在Java程序中调用CMD命令,执行系统级别的操作。这在自动化任务、系统集成或者需要操作系统功能支持的场景下非常实用。但同时,也要注意权限控制和安全问题,避免潜在的攻击风险。
本实例主要探讨的是如何使用JAVA语言来调用ZPL(Zebra Programming Language)指令,实现中文字符的打印以及网络打印功能。这涉及到Java的IO操作、字符串处理以及网络通信等多个方面的知识。 ZPL是一种专门用于配置...
在IE浏览器打印中由于版本问题,可使用打印控件打印,如果打印控件打印不兼容,可以使用IE自带的打印功能
利用JNative实现Java调用动态库.pdf
6. **关闭文档**:所有内容添加完毕后,别忘了调用`Document`的`Close()`方法,结束PDF的写入操作。 7. **打印PDF**:最后,如果你需要打印PDF,可以使用`PrintDocument`类创建一个打印作业,并指定PDF文件作为源。...
主要包含一个Java类`PdfUtilsPic.java`,一个PDF模板文件`M8.pdf`,以及一个名为`调用方法及Maven.txt`的文件,该文件很可能是关于如何使用这些资源的说明。 `PdfUtilsPic.java`可能是自定义的工具类,用于根据指定...