Itext旋转PDF内容的方法
来源:互联网 发布:codol激光和握把数据 编辑:程序博客网 时间:2024/06/05 21:10
前不久使用Freemarker+Flying sauser +Itext 整合生成PDF,因打印要求,需要旋转PDF里的内容,使用过Pdf-renderer, PDFBox 和JPedal转PDF为图片再旋转图片的方式,效果不佳,被项目组否掉,几经周折,终于找到真正旋转PDF内容的方法。
方法如下:
import java.io.FileOutputStream;import com.itextpdf.text.Document;import com.itextpdf.text.pdf.PdfCopy;import com.itextpdf.text.pdf.PdfDictionary;import com.itextpdf.text.pdf.PdfName;import com.itextpdf.text.pdf.PdfNumber;import com.itextpdf.text.pdf.PdfReader;import com.itextpdf.text.pdf.PdfSmartCopy;public class PdfRotate { public static void main(String[] args) throws Exception { PdfReader reader = new PdfReader("d:\\1.pdf"); // 读取源文件 Document document = new Document(); // 建立文档 /* 切勿将源文件和输出文件使用一个路径,否则会出现异常: Exception in thread "main" java.io.FileNotFoundException: d:\1.pdf (请求的操作无法在使用用户映射区域打开的文件上执行。) */ PdfCopy p = new PdfSmartCopy(document,new FileOutputStream("d:\\2.pdf")); // 生成的目标PDF文件 document.open(); int n = reader.getNumberOfPages(); // 获取源文件的页数 PdfDictionary pd; for(int j=1;j<=n;j++){ pd = reader.getPageN(j); pd.put(PdfName.ROTATE, new PdfNumber(90)); // 顺时针旋转90° } for (int page = 0; page < n; ) { p.addPage(p.getImportedPage(reader, ++page)); } document.close(); }}
注意:本方法需要Itextpdf5.0以上版本支持(我使用的是itextpdf-5.5.5.jar),目前大多数项目中使用Freemarker+Flying sauser +Itext 整合生成PDF,均采用iText-2.0.8.jar+core-renderer.jar,关键点在于切勿将项目中iText-2.0.8.jar升级换为itextpdf-5.5.5.jar,否则将导致core-renderer.jar包无法正常使用。同时引入iText-2.0.8.jar和itextpdf-5.5.5.jar。
Jar包下载:
iText-2.0.8.jar
core-renderer.jar
itextpdf-5.5.5.jar
参考:http://itextpdf.com/examples/iia.php?id=232
0 0
- Itext旋转PDF内容的方法
- 通用的itext生成pdf方法
- itext pdf 合并会翻转方向的问题. 修复方法.
- pdfbox&iText生成PDF文件格式及读取PDF文件内容的小示例--完美支持中文版
- iText中给pdf内容添加水印
- iText中给pdf内容添加水印
- itext读写pdf的原理
- itext读写pdf的原理
- Android使用iText生成pdf文件并读取pdf内容
- Java读取PDF文字内容的方法
- 编辑PDF文件内容的方法
- 我在iText封装的方法,从某个pdf文件中获得指定的页
- itext高版本的pdf的页眉和页脚信息显示方法
- 生成PDF文件的Java库iText
- 生成PDF文件的Java库iText
- 使用iText输出PDF报表的实践
- IText 制作PDF格式的文档
- iText 关于创建PDF的感想
- 集合框架总结
- 92 设置css 获取css 设置innerHTML 获取innerHTML
- Android Webview实现图片、文件上传及启动相机功能
- 湘潭大学oj1215
- Android性能优化典范(一)
- Itext旋转PDF内容的方法
- Mac平台开发几个网络抓包工具(sniffer)
- GDI+使用例子
- 黑马程序员——IO流(结束篇)
- Python标准模块logging
- 93 添加class 移出class 移除/移出link或style的css规则,不常用
- Android之Bitmap
- AAABBB struts2学习笔记之action传值方式(向jsp传值的典型的三种方式)
- Android的bitmap和优化