• 大小: 1.99MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-06
  • 语言: Java
  • 标签: JAVA  PDF报表  源码  教程  

资源简介

JAVA生成PDF报表详解 包含完整案例 源码及教程。生成HTML、PDF、XLS、WORD报表相关案例请联系小强。

资源截图

代码片段和文件信息

package com.jump.pdf;

import java.awt.Color;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.linkedHashMap;
import java.util.List;
import java.util.Map;

import com.lowagie.text.Chapter;
import com.lowagie.text.Chunk;
import com.lowagie.text.Document;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.Image;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Phrase;
import com.lowagie.text.Section;
import com.lowagie.text.pdf.baseFont;
import com.lowagie.text.pdf.ColumnText;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfPageEventHelper;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.pdf.draw.DottedLineSeparator;

public class CatalogPDF {

    public static void main(String[] args) throws Exception {

        Document doc = new Document(PageSize.A4 48 48 60 65);
        PdfWriter contentWriter = PdfWriter.getInstance(doc new ByteArrayOutputStream());
        //设置事件
        ContentEvent event = new ContentEvent();
        contentWriter.setPageEvent(event);

        //存目录监听 开始
        doc.open();
        List chapterList = new ArrayList();

        //根据chapter章节分页
        for (int i = 1; i <= 5; i++) {
            Chapter chapter = new Chapter(new Paragraph(“第“ + i + “单元  “ setFont(18f)) i);
            for (int j = 0; j < 3; j++) {
                Section section = chapter.addSection(new Paragraph(“第“ + (j + 1) + “节“ setFont(16f)));
                section.setIndentationLeft(10);
                section.add(new Paragraph(“\n“));
                for (int k = 0; k < 4; k++) {
                    Section subSection = section.addSection(new Paragraph(“第“ + (k + 1) + “题“ setFont(12f)));
                    subSection.setIndentationLeft(10);
                    Paragraph paragraph = new Paragraph(“\n2017年8月17日,LIGO和Virgo在4000万秒差距(1.3亿光年)之外的NGC\n 4993星系内首次探测到了两颗中子星的合并\n“ setFont(10f));

                    Image image = Image.getInstance(“C:\\Users\\admin\\Desktop\\lvqiang\\image\\5.jpg“);
                    image.setAlignment(Image.ALIGN_CENTER);
                    image.scaleAbsolute(300 100);// 直接设定显示尺寸

                    PdfPTable table = createTable(1);
                    table.addCell(createCell(paragraph));
                    table.addCell(createCell(image));

                    subSection.add(table);
                }
            }

            doc.add(chapter);
            chapterList.add(chapter); //保存章节内容

        }

        doc.close();
        //存目录监听 结束

        Document document = new Document(PageSize.A4 48 48 60 65);
        String path = “catalog.pdf“;
        String dir = “C:\\Users\\admin\\Desktop\\lvqiang\\pdf“;
        File file = new File(dir);
        if (!file.exists()) {

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-27 10:11  PDF教程\
     文件        7958  2018-03-23 19:14  PDF教程\CatalogPDF.java
     文件      365056  2014-08-11 14:43  PDF教程\iText中文教程.doc
     目录           0  2018-09-05 21:57  PDF教程\pdfDemo\
     文件         587  2014-08-11 12:12  PDF教程\pdfDemo\.classpath
     目录           0  2014-08-11 10:00  PDF教程\pdfDemo\.myeclipse\
     文件         294  2014-08-11 10:00  PDF教程\pdfDemo\.mymetadata
     文件        1197  2014-08-11 10:00  PDF教程\pdfDemo\.project
     目录           0  2018-09-05 21:57  PDF教程\pdfDemo\.settings\
     文件         500  2014-08-11 10:00  PDF教程\pdfDemo\.settings\.jsdtscope
     文件         330  2014-08-11 10:00  PDF教程\pdfDemo\.settings\org.eclipse.jdt.core.prefs
     文件          49  2014-08-11 10:00  PDF教程\pdfDemo\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2014-08-11 10:00  PDF教程\pdfDemo\.settings\org.eclipse.wst.jsdt.ui.superType.name
     目录           0  2018-09-05 21:57  PDF教程\pdfDemo\src\
     目录           0  2018-09-05 21:57  PDF教程\pdfDemo\src\itextDemo\
     文件        1098  2014-08-11 17:13  PDF教程\pdfDemo\src\itextDemo\AlternatingBackground.java
     文件       18903  2018-03-22 15:06  PDF教程\pdfDemo\src\itextDemo\Demo01.java
     文件        5803  2014-08-12 10:01  PDF教程\pdfDemo\src\itextDemo\PdfReportM1HeaderFooter.java
     目录           0  2018-09-05 21:57  PDF教程\pdfDemo\WebRoot\
     文件         829  2014-08-11 10:00  PDF教程\pdfDemo\WebRoot\index.jsp
     目录           0  2018-09-05 21:57  PDF教程\pdfDemo\WebRoot\meta-INF\
     文件          36  2014-08-11 10:00  PDF教程\pdfDemo\WebRoot\meta-INF\MANIFEST.MF
     目录           0  2018-09-05 21:57  PDF教程\pdfDemo\WebRoot\WEB-INF\
     目录           0  2018-09-05 21:57  PDF教程\pdfDemo\WebRoot\WEB-INF\classes\
     目录           0  2018-09-05 21:57  PDF教程\pdfDemo\WebRoot\WEB-INF\classes\itextDemo\
     文件        1392  2014-09-04 09:52  PDF教程\pdfDemo\WebRoot\WEB-INF\classes\itextDemo\AlternatingBackground.class
     文件       10831  2014-09-04 09:52  PDF教程\pdfDemo\WebRoot\WEB-INF\classes\itextDemo\Demo01.class
     文件        3893  2014-09-04 09:52  PDF教程\pdfDemo\WebRoot\WEB-INF\classes\itextDemo\PdfReportM1HeaderFooter.class
     目录           0  2018-09-05 21:57  PDF教程\pdfDemo\WebRoot\WEB-INF\lib\
     文件     1563239  2014-08-11 12:12  PDF教程\pdfDemo\WebRoot\WEB-INF\lib\iText-5.0.2.jar
     文件      332334  2014-08-11 12:12  PDF教程\pdfDemo\WebRoot\WEB-INF\lib\iTextAsian.jar
............此处省略8个文件信息

评论

共有 条评论