java – PDF页面使用itext重新排序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – PDF页面使用itext重新排序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1479字,纯文字阅读大概需要3分钟。
内容图文
![java – PDF页面使用itext重新排序](/upload/InfoBanner/zyjiaocheng/711/9db654406e6b4a5b9204b49f25cdb16d.jpg)
我正在使用itext pdf库.任何人都知道如何在现有的PDF格式中移动页面?
实际上我想在文件开头移动几页.
它类似于下面,但我不明白它是如何工作的.
reader = new PdfReader(baos.toByteArray());
n = reader.getNumberOfPages();
reader.selectPages(String.format("%d, 1-%d", n, n-1));
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(filename));
stamper.close();
任何人都可以详细解释一下吗?
解决方法:
selectPages()方法在我的书的chapter 6中有解释(参见第164页).在代码片段6.3和6.11的上下文中,它用于减少PdfReader读取的页面数量,以供PdfStamper或PdfCopy使用.但是,它也可用于重新排序页面.首先让我解释一下语法.
selectPages()方法有不同的风格:
您可以传递List< Integer>包含您要保留的所有页码.此列表可以包括增加页码,1,2,3,4 ……如果更改顺序,例如:1,3,2,4 …… PdfReader将按更改的顺序提供页面.
您还可以使用以下语法传递String(在您的代码段中完成的操作):
[!][o][odd][e][even]start[-end]
你可以用逗号分隔多个范围,然后!修饰符删除页面
从已经选择的.范围变化是递增的;数字被添加
或者在范围出现时删除.开头或结尾可以省略;如果你省略
两者,你至少需要o(奇数;选择所有奇数页)或e(偶数;选择所有偶数页).
在您的情况下,我们有:
String.format("%d, 1-%d", n, n-1)
假设我们有一个10页的文档,然后n等于10,格式化操作的结果是:“10,1-9”.在这种情况下,PdfReader将最后一页显示为第一页,然后是第1页至第9页.
现在假设您有一个从第8页开始的TOC,并且您想要将此TOC移动到第一页,那么您需要这样的内容:8-10,1-7,或者如果toc等于8且n等于10:
String.format("%d-%d, 1-%d", toc, n, toc -1)
有关format()方法的详细信息,请参阅String和Format String syntax的API文档.
内容总结
以上是互联网集市为您收集整理的java – PDF页面使用itext重新排序全部内容,希望文章能够帮你解决java – PDF页面使用itext重新排序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。