三种Java打印PDF文档的实例代码

以下内容归纳了通过Java程序打印PDF文档时的3种情形。即:

1 静默打印

2 显示打印对话框打印

3 打印PDF时自定义纸张大小

使用工具:Spire.PDF for Java

Jar文件获取及导入:

方法1:下载jar包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar导入java程序。

方法2:可通过maven库导入。参考导入方法。

Java代码示例

【示例1】静默打印

即通过使用默认打印机直接打印PDF文档。打印时,我们可以设置打印份数,设置纸张打印页边距等。

import com.spire.pdf.*;
import java.awt.print.*;
public class Print {
 public static void main(String[] args) {
 //加载文档
 PdfDocument pdf = new PdfDocument();
 pdf.loadFromFile("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();
 }
 }
 }

【示例2】显示打印对话框打印PDF文档

import com.spire.pdf.*;
import java.awt.print.*;

public class Print {
 public static void main(String[] args) {
 //加载文档
 PdfDocument pdf = new PdfDocument();
 pdf.loadFromFile("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();
 }
 }
 }
}

【示例3】打印时自定义纸张大小

import com.spire.pdf.*;
import java.awt.print.*;
public class Print {
 public static void main(String[] args) {
 //加载文档
 PdfDocument pdf = new PdfDocument();
 pdf.loadFromFile("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();
 }
 }
}

如果需要更详细的打印设置,可以在PrinterJob下设置相应的参数,可从参考:https://www.programcreek.com/java-api-examples/java.awt.print.PrinterJob

(本文完)

到此这篇关于三种Java 打印PDF文档的实例代码的文章就介绍到这了,更多相关JAVA 打印PDF文档内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java实现PDF打印的解决方案

    1.Java Print Service Java Print Service是Java自带的打印框架,所在的包javax.print.PrintService;. 实现PDF打印的代码流程如下 //1.得到一个文件的输入流 FileInputStream fiStream; try { psStream = new FileInputStream("./sample.PDF"); } catch (FileNotFoundException ffne) { } if (psStrea

  • java原装代码完成pdf在线预览和pdf打印及下载

    前提准备: 1. 项目中至少需要引入的jar包,注意版本: a) core-renderer.jar b) freemarker-2.3.16.jar c) iText-2.0.8.jar d) iTextAsian.jar 上代码: 注释: 此类为自定义的Tag类的基类,在action中怎么放的数据,在ftl中就怎么取数据,简洁明了.  1. 自定义Tag类的基类 /** * 通用的生成pdf预览和生成打印的html文件 * * @author xg君 * */ public abstract

  • java控制Pdf自动打印的小例子

    复制代码 代码如下: public byte[] autoPrintPdf(byte[] pdf_byte) { ByteArrayOutputStream bos=null;  try {   PdfReader reader = new PdfReader(pdf_byte);   bos = new ByteArrayOutputStream();   PdfStamper ps = new PdfStamper(reader, bos);   StringBuffer script =

  • 三种Java打印PDF文档的实例代码

    以下内容归纳了通过Java程序打印PDF文档时的3种情形.即: 1 静默打印 2 显示打印对话框打印 3 打印PDF时自定义纸张大小 使用工具:Spire.PDF for Java Jar文件获取及导入: 方法1:下载jar包.下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar导入java程序. 方法2:可通过maven库导入.参考导入方法. Java代码示例 [示例1]静默打印 即通过使用默认打印机直接打印PDF文档.打印时,我们可以设置打印份数,设置纸张打印页边距等. impo

  • Java 生成PDF文档的示例代码

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间查找了相关的资料.整理之后,发现有几个框架可以实现这个功能. 1. 开源框架支持 iText,生成PDF文档,还支持将XML.Html文件转化为PDF文件: Apache PDFBox,生成.合并PDF文档: docx4j,生成docx文档,支持转换为PDF格式. 2. 实现方案 比较了一番后,采用了FreeMarker+docx4j+Apache PDFBox的方案: maven依赖 <!-- pdfbox --> &

  • C#打印PDF文档的10种方法(小结)

    操作PDF文档时,打印是常见的需求之一.针对不同的打印需求,可分多种情况来进行,如设置静默打印.指定打印页码范围和打印纸张大小.双面打印.黑白打印等等.经过测试,下面将对常见的几种PDF打印需求做一些归纳总结,这里归纳了10种打印需求及方法.如下: 使用默认打印机打印PDF文档 使用虚拟打印机(Microsoft XPS Document Writer)打印PDF文档 指定打印机及PDF文档打印页码范围 静默打印PDF文档 双面打印PDF文档 黑白打印PDF文档 打印PDF文档时选择不同的出纸盒

  • 详解Java生成PDF文档方法

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持 iText,生成PDF文档,还支持将XML.Html文件转化为PDF文件: Apache PDFBox,生成.合并PDF文档: docx4j,生成docx.pptx.xlsx文档,支持转换为PDF格式. 比较: iText开源协议为AGPL,而其他两个框架协议均为Apache License v2.0. 使用PDFBox生成PDF就像画图

  • 如何通过Java打印Word文档

    这篇文章主要介绍了如何通过Java打印Word文档,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Java 打印Word文档 本文介绍如何在Java程序中通过物理打印机和虚拟打印机来打印Word文档的方法.文中使用了类库Spire.Doc for Java,可通过 官网下载jar文件并导入程序或者直接通过maven仓库安装导入. [示例1]通过物理打印机打印 import com.spire.doc.Document; import com.s

  • python输出pdf文档的实例

    python导出pdf,参考诸多资料,发现pdfkit是效果比较好的. 故下载后进行了实现,多次失败后终于成功了,现将其中经验总结如下: """ 需要安装pdfkit,另外需要安装可执行文件wkhtmltopdf.exe, pdfkit核心命令是调用wkhtmltopdf.exe实现转pdf 有三个接口: pdfkit.from_url pdfkit.from_string pdfkit.from_file 需要注意的是,pdfkit主要是用来将html转pdf,所以文件也是

  • MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码

    MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 下面给大家介绍MongoDB查询文档操作的实例 先把student删除,再重新插入数据 > db.student.drop() true > db.student.insert([{ "_id" : 1, "

  • 三种动态加载js的jquery实例代码另附去除js方法

    复制代码 代码如下: !-- 这里为你提供了三种动态加载js的jquery实例代码哦,由于jquery是为用户提供方便的,所以利用jquery动态加载文件只要一句话$.getscript("test.js");就ok了. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.

  • 用python将word文档合并实例代码

    目录 背景: 设计思路: 脚本环境说明: 完整代码: 功能执行效果图: 总结: 背景:         由于工作需要,现在有这么一个需求,要合并大量的word文档,而且要在不同的目录下找到同一个人的word文档,进行合并,最终输出一个合并后的word文档.一般来说几个或者十几个量不多的话,就手工合并一下好了,但现在这个量是真的大.目录有十多个,每个目录又有50多个不同人的word文档,而且同一个人在不同目录下又不一定都有word文档,因此,整个合并工作就出现了人工操作的困难: 工作量多:容易疏漏

  • Spring Boot项目集成Knife4j接口文档的实例代码

    目录 1.在pom.xml引入依赖包 2.创建Knife4j配置文件 3.使用Knife4j注解 4.全局参数 Knife4j就相当于是swagger的升级版,对于我来说,它比swagger要好用得多 1.在pom.xml引入依赖包 <!-- Swagger配置依赖knife4j --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-b

随机推荐