要生成pdf文件,在网上查了下资料,首选iText,跟着大家走,我也iText一把。
1:把字型编程A4横向
代码
- Document document = new Document(PageSize.A4.rotate());
<script>render_code();</script>
2:在PDF文件中加入表格
代码
- float[] widths = {0.05f,0.29f, 0.05f, 0.05f, 0.14f, 0.03f, 0.04f,0.04f, 0.05f, 0.05f,0.08f,0.08f, 0.05f};
-
- PdfPTable table = new PdfPTable(13);
-
- table.setWidths(widths);
-
- table.setWidthPercentage(100);
-
- table.setSpacingBefore(3f);
<script>render_code();</script>
3:向表格里填数据, 例子
代码
- for(int i = 0; i<26; i++)
- {
- table.table.addCell(i+"");
- }
<script>render_code();</script>
这样就会往表格里填上2行数据,这个api比较简单,不用向jxl/poi 那里那样还有明确写出到底要往那个cell填
4:标题和表格组合
代码
- document.add(new Paragraph(titleWorkhour, FontFactory.getFont(FontFactory.HELVETICA, 12, Font.BOLD, new Color(0, 0, 0))));
-
- document.add(table);
<script>render_code();</script>
5:分页
代码
<script>render_code();</script>
6:合并PDF文件,由于往一个document里加内容只能是顺序往下加,而我的summary页要最后才能算出来,但是summary页又要放在第一页
所以我不得不先把body生成一个pdf文件,然后summary在生成一个文件,然后把两个文件合并成同一个文件。
代码
- private void concatenateSummary(String[] args, String finalFile)
- {
- try {
- int pageOffset = 0;
- ArrayList master = new ArrayList();
- int f = 0;
- String outFile = finalFile;
- Document document = null;
- PdfCopy writer = null;
- while (f < args.length) {
-
- PdfReader reader = new PdfReader(args[f]);
- reader.consolidateNamedDestinations();
-
- int n = reader.getNumberOfPages();
- List bookmarks = SimpleBookmark.getBookmark(reader);
- if (bookmarks != null) {
- if (pageOffset != 0)
- SimpleBookmark.shiftPageNumbers(bookmarks, pageOffset, null);
- master.addAll(bookmarks);
- }
- pageOffset += n;
-
- if (f == 0) {
-
- document = new Document(reader.getPageSizeWithRotation(1));
-
- writer = new PdfCopy(document, new FileOutputStream(outFile));
-
- document.open();
- }
-
- PdfImportedPage page;
- for (int i = 0; i < n; ) {
- ++i;
- page = writer.getImportedPage(reader, i);
- writer.addPage(page);
- }
- PRAcroForm form = reader.getAcroForm();
- if (form != null)
- writer.copyAcroForm(reader);
- f++;
- }
- if (!master.isEmpty())
- writer.setOutlines(master);
-
- document.close();
- }
- catch(Exception e) {
- e.printStackTrace();
- }
- }
|
相关推荐
相关教程 iText 简介 iText创建文档简介 iText入门实例 IText使用PDF模板输出报表的实践 我和iText第一次亲密接触 相关JAR iText-2.1.7.jar(核心) iTextAsian.jar(中文支持) iText-rups-2.1.7.jar iText-rtf-...
IText 和 ITextAsian 的开发包
itext-1.01.jar和iTextAsian.jar这两个包是支持 HTML、RTF 和 XML 文档的生成,此外还能够生成 PDF 文档
适用于android,编译提示有问题的话,在app的Build.gradle的android下加如下代码: packagingOptions { exclude 'com/itextpdf/text/pdf/fonts/cmap_info.txt' }
iText1.2.7、iText-rtf2.1.7、iTextAsian
iText5.5.12 源码工程和itext签名文档(英文)。签名文档是官方的,还是蛮有用的。iText5.5.12 源码工程和itext签名文档(英文)。签名文档是官方的,还是蛮有用的。
使用IText生成PDF和WORD文档 包括源码和IText所需jar包
iText7jar和英文文档,以及itext5的一些文档。建议大家去官网看itext7,改动有点大。我也在摸索中。
多个版本的itext-jar包, itext-2.0.4/itext-2.1.5/itext-2.1.7
iText-2.1.7.jar资源包,可以调用方法实现生成PDF文件! iTextAsian.jar可以解决生成PDF文件为中文的问题!
itext-asian-5.2.0.jar和itextpdf-5.5.5.jar 用于java生成pdf的各种开发 1
使用iText填充pdf表单用到的itext-1.3.1.jar和iTextAsian.jar。如果不引用iTextAsian.jar程序编译不会出错,但运行会出错,因为"STSong-Light" font依赖iTextAsian.jar
itextasian 和 itext-2.0.8 和 itext-rtf-2.1.7
IText7jar集合
itext 生成pdf 目录,itext 生成pdf 目录,itext 生成pdf 目录
itext2.17
itext 操作PDF需要的jar包
本人iText7博客系列第一章的源代码工程,详情请访问我的博客
iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,下载iText.jar文件后,...
java操作pdf和rtf文件所需的jar包。包含: itext-2.1.7.jar itext-rtf-2.1.7.jar