首页 > 代码库 > Java调用GSview来打印PDF

Java调用GSview来打印PDF

前言

在之前的一篇文章中,介绍了Java PrintService API,它虽然支持打印功能,但并不具备解释PDF、MS Word等文档的能力。

而且由于支持Post Script标准的打印机通常比较昂贵,市场上流通的廉价打印机(使用基于主机的驱动程序)基本不支持。

并且上一篇文章提供了使用Adobe Reader来外挂打印PDF,这篇文章采用的是相同的方式,只不过用了GSview。

GSview相比Adobe Reader更能实现静默打印,因为我在使用Adobe Reader的过程中,总会弹出一个Adobe Reader中心的窗口,比较恶心~而且没找到解决方法。

而使用GSView就不存在这样的情况。


准备工作

首先去GSView的官网上下载GSview的最新版本,这里顺便给出GSview的官网,

我使用的是gsv50w32.exe和Ghostscript 9.15,这两个版本需要匹配起来,前者是主程序,后面的应该是类似于脚本解释器(引擎)或环境之类的东西~


具体使用

	public static void printByGSview(String printerName, String filePath) {
		try {
			Runtime.getRuntime().exec(
					"cmd.exe /C gsprint -printer \"" + printerName + "\" "
							+ filePath);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

其中-printer参数可以根据名称来指定打印机


Java调用GSview来打印PDF