1.生成PDF的5个步骤
a.创建一个Document实例
Document document = new Document();
b.将Document实例和文件输出流用PdfWriter类绑定在一起
PdfWriter.getInstance(document,new FileOutputStream("HelloWorld.pdf"));
c.打开文档
document.open();
d.在文档中添加文字
document.add(new Paragraph("Hello World"));
e.关闭文档
document.close();
这样5个步骤,就可以生成一个PDF文档了
2.输出中文
首先需要下载iTextAsian.jar包,可以到iText的主站上下,ireport也是需要这个包的。然后定义中文字体:
BaseFont bfChinese = BaseFont.createFont("STSong-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
FontChinese = new Font(bfChinese, 12, Font.NORMAL);
3.设置PDF横向显示和打印
Rectangle rectPageSize = new Rectangle(PageSize.A4);// 定义A4页面大小
rectPageSize = rectPageSize.rotate();// 加上这句可以实现A4页面的横置
Document doc = new Document(rectPageSize,50,50,50,50);//4个参数,设置了页面的4个边距
4.显示页码
复杂的页码显示和水印添加,需要使用到PdfPageEventHelper、PdfTemplate等辅助类,具体的例子参见iText的文档,如果只是为了简单的显示页数,可以使用下面的代码:
HeaderFooter footer = new HeaderFooter(new Phrase("页码:",getChineseFont()), true);
footer.setBorder(Rectangle.NO_BORDER);
document.setFooter(footer);
document.open();
你可能注意到了,添加footer需要在document.open之前。
5.单元格的内容换行
转义符\n实现
6.设置表头
希望每一页都有表头,可以通过设置表头来实现。对于PdfPTable类来说,可以这样设置:
PdfPTable table = new PdfPTable(3);
table.setHeaderRows(2); // 设置了头两行为表格头
而对于om.lowagie.text.Table类,需要在添加完所有表头的单元格后加上一句代码:
table.endHeaders();
7.设置列宽
Table table = new Table(8);
float[] widths = { 0.10f, 0.15f, 0.21f, 0.22f, 0.08f, 0.08f, 0.10f,
0.06f };
table.setWidths(widths);
分享到:
相关推荐
"基于新能源开发的风电工程项目管理的难点及改进途径探讨" 本文主要探讨了基于新能源开发的风电工程项目管理的难点和改进途径。随着科学技术的不断进步和发展,风力发电的效率已经超过常规发电资源,风力发电可以...
低渗透油藏开发的难点主要包括四个方面:一是注采井网部署未充分考虑沉积微相和裂缝分布,影响注水效果和油井产出;二是对裂缝分布和注入水流线推进规律的认识有限,可能导致快速水淹和油井产量下降;三是随着长期...
解决这些难点需要持续的科研投入和技术创新。在地质研究方面,深化对沉积微相、裂缝分布和油藏整体结构的理解至关重要。在工艺技术上,研发新的储层改造技术,如更有效的压裂方法和防垢材料,是提高产能和降低维护...
本书不仅涵盖了基础内容,还深入探讨了Linux设备驱动程序开发中的难点和重要主题。例如,在讨论PCMCIA、USB等外部总线的驱动程序开发时,书中不仅介绍了基本的编程方法,还揭示了驱动开发过程中的技术内幕,以及怎样...
"Vue项目中遇到的难点面试" 本资源摘要信息主要集中在Vue项目中遇到的难点面试问题,涵盖了Vue的基本原理、双向数据绑定的原理、MVVM、MVC、MVP的区别等相关知识点。 1. Vue的基本原理 Vue的基本原理是基于数据...
在注采井网的优化上,当前存在几个主要难点。首先,注采井网的部署往往没有充分考虑沉积微相类型和分布,这可能导致井网设计不适应油藏的具体地质条件。其次,裂缝分布的研究不足,使得注入水可能沿裂缝快速推进,...
教学重点在于配置Python Web开发环境和创建Django项目,难点可能在于理解环境配置和项目的初始化。 2. 第2章“Django配置”:深入讲解Django项目配置文件的设置,如基本配置、模板、数据库和静态资源,并介绍如何在...
C语言是一种底层编程语言,广泛应用于系统开发、嵌入式编程等领域。对于初学者来说,理解和掌握C语言的难点是至关重要的。以下是对C语言中一些关键知识点的详细解析: 1. 变量的作用域和存储类别: - **作用域**:...
使用@Configuration编写自定义配置类和Profile文件进行多环境配置是本章的难点,学生需要熟练掌握如何根据不同的运行环境调整配置。随机值设置和参数间引用的概念也将被介绍,以增强配置灵活性。 第三章"Spring ...
房地产开发项目土地增值税清算工作中的重点难点宣贯.pdf
学习Eclipse RCP插件式开发的难点可能在于: 1. Eclipse RCP的学习曲线较陡,需要一定的Java基础和Eclipse基础知识。 2. RCP插件式开发需要一定的经验和实践。 但是,通过本教程的学习,读者将能够: 1. 掌握RCP...
"软件开发项目管理实施方案实施计划书.pdf" 该资源主要讨论了软件开发项目管理实施方案的实施计划,旨在帮助工程管理者成功地完成工程管理。工程管理者的目标是清晰明确地了解工程利害关系者的需求和期望,努力做到...
论医院全成本核算软件开发的难点与解决方案(20211220164239).pdf
房地产开发项目管理是一...通过以上措施,房地产开发商可以更好地应对项目管理中的难点,提高项目执行的效率和质量,从而提升整体开发效益。在房地产市场竞争激烈的今天,有效的项目管理是企业获得竞争优势的重要途径。
这篇“重点难点汇集”PDF文件可能是针对这门课程的复习资料,旨在帮助学生集中理解和掌握软件工程的关键概念和技术。 首先,软件工程的基本理念是通过系统化、规范化的工程方法来开发和维护软件,以提高效率、降低...
全成本核算软件的开发旨在提升医院运营效率,优化成本结构,为决策提供科学依据。然而,这一过程面临诸多挑战,需要深思熟虑的解决方案。本文将深入探讨这些难点,并提出相应的应对策略。 首先,医院全成本核算的...
房地产开发项目土地增值税清算工作中的重点难点.pdf