java pdf打印_Java 打印PDF文档

本文将介绍如何在Java应用程序中打印PDF文档。一般有以下三种常见打印方式:静默打印

显示打印对话框打印

打印PDF时自定义纸张大小

使用工具:Free Spire.PDF for Java

创建运行环境:

方式 1:通过官网下载组件,解压后将lib文件夹下的Spire.Pdf.jar手动导入IDEA中。具体步骤可参考下图。

d9d9ed4df126e877e40fe490ba71893f.png

方式 2:通过Maven仓库安装产品及导入相关依赖包。在pom.xml文件中配置Maven仓库路径,及指定Free Spire.PDF for Java的Maven依赖。

com.e-iceblue

http://repo.e-iceblue.cn/repository/maven-public/

e-iceblue

spire.pdf.free

2.6.3

配置完成后,在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();

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264588.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xss测试

</p>\ < script language"JavaScript" \ >alert(document.cookie); \ < /script\ > <p>转载于:https://blog.51cto.com/zhangxz/1445081

微信支付配置参数:支付授权目录、回调支付URL

一、开通微信支付的首要条件是&#xff1a;认证服务号或政府媒体类认证订阅号&#xff08;一般认证订阅号无法申请微信支付&#xff09;二、微信支付分为老版支付和新版支付&#xff0c;除了较早期申请的用户为老版支付&#xff0c;现均为新版微信支付。三、公众平台微信支付开…

生命诚可贵

灰色转载于:https://www.cnblogs.com/dannyr/archive/2008/05/19/1202339.html

memcached 使用 java_java中Memcached的使用(包括与Spring整合)

一、什么是Memcached&#xff1f;Memcached是danga.com开发的分布式内存对象缓存系统&#xff0c;所谓分布式&#xff0c;意味着它不是本地的&#xff0c;而是基于网络连接完成服务。Memcached把一些数据通过keyvalue数据存储到内存中&#xff0c;这样访问更加方便快捷。但是随…

P1137 旅行计划

前言&#xff1a; 这是道图论题&#xff0c;当然&#xff0c;搜索也行&#xff1b; 做题的中心我放在拓扑排序上 需要帮助吗&#xff08;什么是拓扑排序&#xff1f;&#xff09; 分析&#xff1a; 拓扑排序的模板一个&#xff01;&#xff01;&#xff01; 题目&#xff1a;P1…

[导入]关于阶乘的两个常见算法及一个相关面试题

摘要: 本文首先给出了阶乘的数学定义&#xff0c;然后说明了它的两种简单算法&#xff0c;最后提供了一个很有意思的与阶乘相关的面试题的思路。 阅读全文Anders Cui 2008-05-19 12:12 发表评论文章来源:http://www.cnblogs.com/anderslly/archive/2008/05/19/factorial-algor…

autoresetevent java_[原创]AutoResetEvent, ManualResetEvent的Java模拟

AutoResetEvent, ManualResetEvent是C#中常用的线程同步方法&#xff0c;在Java中可以模拟&#xff0c;AutoResetEvent使用Semaphore&#xff0c;增加的是许可证数量&#xff0c;程序里只有一个许可证&#xff0c;那么当这个许可被使用后&#xff0c;就会自动锁定。相反&#x…

用Jfree实现条形柱状图表,java代码实现

用Jfree实现条形柱状图表&#xff0c;java代码实现。可经经常使用于报表的制作&#xff0c;代码自己主动生成后能够自由查看。能够自由配置图表的各个属性&#xff0c;用来达到自己的要求和目的package test1;import org.jfree.chart.*; import org.jfree.chart.plot.*; import…

bzoj 2160: 拉拉队排练

Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了。拉拉队是篮球比赛的一个看点&#xff0c;好的拉拉队往往能帮助球队增加士气&#xff0c;赢得最终的比赛。所以作为拉拉队队长的楚雨荨同学知道&#xff0c;帮助篮球队训练好拉拉队有多么的重要。拉拉队的选拔工…

java long double精度丢失_long long类型转double类型部分精度丢失问题

我最近做了一道题&#xff0c;一个64位(unsigned __int64)范围内的数输出其除以1000的值&#xff0c;并按四舍五入保留小数点后三位。我刚开始直接写WA&#xff0c;结果发现当数比较大的时候&#xff0c;结果后几位精度总会丢失&#xff0c;只好手动模拟了一个&#xff0c;水过…

从服务器上自动更新系统补丁

对于经常重系统的用户或公司,每次安装系统后,必须得从微软网站上面下载补丁,这样很浪费时间. 如何从自己服务器上自动更新系统补丁,方法如下: 服务器端 服务器端需要安装一个更新服务器软件,如:SUS (下载地址http://www.onlinedown.net/soft/35844.htm) 客户端设置 开始 -- 运行…

搭建于 Cubieboard 之上的超小型实时监控平台 - mjpg篇

2019独角兽企业重金招聘Python工程师标准>>> 运行于 Cubieboard开发板 之上的个人笔记博客 http://cb.e-fly.org:81/archives/system-camera-monitor-mjpg-streamer.html 原文作者&#xff1a;Cannikin原文链接&#xff1a;http://forum.cubietech.com/forum ... p…

java 判断一个字符串是否由数字组成的_Java中怎样判断一个字符串是否是数字

展开全部1.使用Character.isDigit(char)判断String str "123abc";if (!"".equals(str)) {char num[] str.toCharArray();//把字符串转换为字符数组StringBuffer title new StringBuffer();//使用StringBuffer类&#xff0c;把非数e69da5e887aa323131333…

博客园的BLOG也申请了

BLOG申请了不少,但还没定居过------大都不怎么满意. 希望这回能让我安定下来... 20150413转载于:https://www.cnblogs.com/lxwy/archive/2008/05/28/4420771.html

Docker 入坑教程笔记

Docker 入坑教程笔记 视频网址B站&#xff1a;点这里 查询命令 man docker 简单启动和退出 docker run --name [容器名] -i -t ubuntu /bin/bash 交互启动虚拟机-t 提供伪tty终端docker ps [-a][-l]docker inspect [container name or id] 配置信息&#xff0c;有用数据docker …

安卓开发工具

Android 下载需要用到的工具:(1)下载JAVA的IDE开发工具– Eclipse到Eclipse官方网站下载Ecplise For Java EE的最新Windows版本 下载Ecplise(2)下载Java开发包 — Java SE Development Kit (JDK) JDK 6到Sun官方网站下载JDK6,选择JDK 6 Update 12 下载JDK6(3)下载Android开发包…

java http 返回码_【Java】Http返回状态码

来自HttpStatus&#xff0c;记录一下CONTINUE(100, "Continue"),SWITCHING_PROTOCOLS(101, "Switching Protocols"),PROCESSING(102, "Processing"),CHECKPOINT(103, "Checkpoint"),OK(200, "OK"),CREATED(201, "Creat…

启明星辰招聘

呵&#xff0c;好简单的工作。一狠心一咬牙不去了....... 不如现在的工作环镜好。岗位名称&#xff1a;安全工程师 人数&#xff1a;4工作地点&#xff1a;北京 薪水范围&#xff1a;4000-8000元/月投递简历邮箱&#xff1a;hrvenustech.com.cn公司网站&#xff1a;www.venuste…

515. 在每个树行中找最大值

您需要在二叉树的每一行中找到最大的值。 示例&#xff1a; 输入: 1/ \3 2/ \ \ 5 3 9 输出: [1, 3, 9]在真实的面试中遇到过这道题&#xff1f;class Solution {public List<Integer> largestValues(TreeNode root) {List<Integer> res new ArrayList&l…

加密的一些概念

明文&#xff1a;可以被人或程序识别的数据。例如一个文本文件、一段歌词、一个Word文档、一首MP3、一个图片文件、一段视频等等。 加密算法&#xff1a;将数据搞乱掉的方法。 密钥&#xff08;密码&#xff09;&#xff1a;一个你在进行加密操作时给出的字符串&#xff0c;让加…