共计 2337 个字符,预计需要花费 6 分钟才能阅读完成。
本文将介绍如何在 Java 应用程序中打印 PDF 文档。个别有以下三种常见打印形式:
- 静默打印
- 显示打印对话框打印
- 打印 PDF 时自定义纸张大小
应用工具:Free Spire.PDF for Java
创立运行环境:
形式 1: 通过官网下载组件,解压后将 lib 文件夹下的 Spire.Pdf.jar 手动导入 IDEA 中。具体步骤可参考下图。
形式 2: 通过 Maven 仓库装置产品及导入相干依赖包。在 pom.xml 文件中配置 Maven 仓库门路,及指定 Free Spire.PDF for Java 的 Maven 依赖。
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>2.6.3</version>
</dependency>
</dependencies>
配置实现后,在 IDEA 中,您只需点击 ”Import Changes” 即可导入 JAR 包;在 Eclipse 中,则需点击 ”Save” 按钮。
代码演示
静默打印
import com.spire.pdf.*;
import java.awt.print.*;
public class Print {public static void main(String[] args) {
// 加载文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");
PrinterJob loPrinterJob = PrinterJob.getPrinterJob();
PageFormat loPageFormat = loPrinterJob.defaultPage();
Paper loPaper = loPageFormat.getPaper();
// 删除默认页边距
loPaper.setImageableArea(0,0,loPageFormat.getWidth(),loPageFormat.getHeight());
// 设置打印份数
loPrinterJob.setCopies(2);
loPageFormat.setPaper(loPaper);
loPrinterJob.setPrintable(pdf,loPageFormat);
try {loPrinterJob.print();
} catch (PrinterException e) {e.printStackTrace();
}
}
}
显示打印对话框打印 PDF 文档
import com.spire.pdf.*;
import java.awt.print.*;
public class Print {public static void main(String[] args) {
// 加载文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");
PrinterJob loPrinterJob = PrinterJob.getPrinterJob();
PageFormat loPageFormat = loPrinterJob.defaultPage();
Paper loPaper = loPageFormat.getPaper();
// 删除默认页边距
loPaper.setImageableArea(0,0,loPageFormat.getWidth(),loPageFormat.getHeight());
loPageFormat.setPaper(loPaper);
loPrinterJob.setPrintable(pdf,loPageFormat);
// 显示打印对话框
if (loPrinterJob.printDialog()) {
try {loPrinterJob.print();
} catch (PrinterException e) {e.printStackTrace();
}
}
}
}
打印时自定义纸张大小
import com.spire.pdf.*;
import java.awt.print.*;
public class Print {public static void main(String[] args) {
// 加载文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");
PrinterJob loPrinterJob = PrinterJob.getPrinterJob();
PageFormat loPageFormat = loPrinterJob.defaultPage();
// 设置打印纸张大小
Paper loPaper = loPageFormat.getPaper();
loPaper.setSize(500,600);
loPageFormat.setPaper(loPaper);
loPrinterJob.setPrintable(pdf,loPageFormat);
try {loPrinterJob.print();
} catch (PrinterException e) {e.printStackTrace();
}
}
}
正文完