博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java PDF分页打印
阅读量:4708 次
发布时间:2019-06-10

本文共 1823 字,大约阅读时间需要 6 分钟。

将获取的pdf文件按页拆分:参考

pdf文件有多页,第一页需设置横向打印,其他页设置为纵向打印。

PDDocument document = PDDocument.load(new File(filePath));            Splitter splitter = new Splitter();            List
pages = splitter.split(document); ListIterator
iterator = pages.listIterator(); int i = 1; while (iterator.hasNext()) { PrintService service = PrintServiceLookup.lookupDefaultPrintService(); PDDocument pd = iterator.next(); boolean isSuc = PrintUtil.printWithAttributes(pd, service,i); i++; System.out.println(isSuc+"----------------------打印服务"); }
public static boolean printWithAttributes(PDDocument document, PrintService service, int i) {        try {            PrinterJob job = PrinterJob.getPrinterJob();            //设置打印机  不设置,则使用默认打印机            job.setPrintService(service);            PrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();            if (i == 1) {                //设置横向打印                attr.add(OrientationRequested.LANDSCAPE);            }//            attr.add(MediaSizeName.ISO_A5);         //设置纸张类型            print(document, job, attr);            return true;        } catch (Exception e) {            return false;        }    }    private static void print(PDDocument document, PrinterJob job, PrintRequestAttributeSet attr)            throws IOException, PrinterException {        PDFPrintable printable = new PDFPrintable(document, Scaling.SCALE_TO_FIT);        job.setPrintable(printable);        job.print(attr);    }
org.apache.pdfbox
pdfbox
2.0.8

 

转载于:https://www.cnblogs.com/SimonHu1993/p/10760962.html

你可能感兴趣的文章
责任链模式(chain of responsibility)
查看>>
[转载]java多线程学习-java.util.concurrent详解(一) Latch/Barrier
查看>>
ionic - 运行起来
查看>>
Shell 输入/输出重定向
查看>>
数据结构与算法分析(C++)读书笔记
查看>>
(转)nginx应用总结(1)--基础认识和应用参数优化配置
查看>>
(转)关于sql和MySQL的语句执行顺序(必看!!!)
查看>>
UVALive 3668 A Funny Stone Game(博弈)
查看>>
信息论随笔2: 交叉熵、相对熵
查看>>
再学习之MyBatis.
查看>>
CodeWars题目筛选
查看>>
MySQL— 索引
查看>>
电子书下载:Professional Web Design: Techniques and Templates, 4th Edition
查看>>
10要点解决IE6兼容性问题
查看>>
Seven Python Tools All Data Scientists Should Know How to Use
查看>>
cocos2d-x学习之路(二)——分析AppDelegate和HelloWorldScene文件
查看>>
Asp.net 对于服务器控件添加Client端方法
查看>>
在Salesforce中创建Approval Process
查看>>
NFS服务搭建与配置
查看>>
python计算文件md5值
查看>>