栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java后台导出pdf,基础用法和样例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java后台导出pdf,基础用法和样例

1.首先添加依赖

		
            com.itextpdf
            itextpdf
            5.5.10
            
        
            com.itextpdf
           itext-asian
            5.2.0
        

2.最基础的用法为:

		// 1.新建document对象
        document document = new document();

        // 2.建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。
        // 创建 PdfWriter 对象 第一个参数是对文档对象的引用,第二个参数是文件的实际名称,在该名称中还会给出其输出路径。
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("D:/test.pdf"));


        Anchor anchorTarget = new Anchor("ccccccccccccccccc");
        anchorTarget.setName("bbbbbbbbbbbbbbbb");
        Paragraph paragraph1 = new Paragraph();

        paragraph1.setSpacingBefore(50);

        paragraph1.add(anchorTarget);
        document.add(paragraph1);

        // 3.打开文档
        document.open();

        // 4.添加一个内容段落
        document.add(new Paragraph("Hello World!"));

        // 5.关闭文档
        document.close();

3.我曾经写过的一个项目中的例子(最后有效果图):

Map resultMap = new HashMap();

        resultMap.put("RWBH",rwbh);

        Map rwList = mybatisRepository.selectOne(this.namespace + "queryRwxx", resultMap);
        List ldList = mybatisRepository.selectByParams(this.namespace + "queryLdxx", resultMap);
        // 定义全局的字体静态变量
        Font titlefont;
        Font headfont;
        Font keyfont;
        Font textfont = null;
        // 最大宽度
        try {
            // 不同字体(这里定义为同一种字体:包含不同字号、不同style)
            baseFont bfChinese = baseFont.createFont("STSong-Light", "UniGB-UCS2-H", baseFont.NOT_EMBEDDED);
            titlefont = new Font(bfChinese, 16, Font.BOLD);
            headfont = new Font(bfChinese, 14, Font.BOLD);
            keyfont = new Font(bfChinese, 10, Font.BOLD);
            textfont = new Font(bfChinese, 15, Font.NORMAL);

        } catch (Exception e) {
            e.printStackTrace();
        }
        baseFont bf;
        Font font = null;
        try {
            bf = baseFont.createFont( "STSong-Light", "UniGB-UCS2-H",
                    baseFont.NOT_EMBEDDED);//创建字体
            font = new Font(bf,20,Font.BOLD);//使用字体
        } catch (Exception e) {
            e.printStackTrace();
        }
        document document = new document(new RectangleReadOnly(842F, 595F));
        try {
            String filePath="E:/file/dzld/"+rwbh+".pdf";
            PdfWriter.getInstance(document, new FileOutputStream(filePath));
                document.open();
                Paragraph paragraph=new Paragraph("运输服务路单汇总表",font);
                paragraph.setAlignment(1);
                document.add(paragraph);//引用字体

                float[] widths = {25f,25f,25f,25f,25f,25f,25f,25f};// 设置表格的列宽和列数 默认是4列
                PdfPTable table = new PdfPTable(widths);// 建立一个pdf表格
                table.setSpacingBefore(20f);
                table.setWidthPercentage(100);// 设置表格宽度为100%

                PdfPCell cell = null;
                //第一行
                cell = new PdfPCell(new Paragraph("优选编号",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setFixedHeight(50);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("RWBH")),textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("任务名称",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("RWMC")),textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                table.addCell(cell);

                //第2行
                cell = new PdfPCell(new Paragraph("车牌号",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setFixedHeight(50);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("CPH")),textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("车型",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("CXMC")),textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                table.addCell(cell);

                //第3行
                cell = new PdfPCell(new Paragraph("用车单位",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setFixedHeight(50);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("FQDWMC")),textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("派车单位",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("JDDWMC")),textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                table.addCell(cell);

                //第4行
                cell = new PdfPCell(new Paragraph("起止时间",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setFixedHeight(50);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("ZZKGSJ"))+"至"+StringUtil.null2blank(rwList.get("ZWWGSJ")),textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setColspan(3);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("总工作量",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("ZGZL")),textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("总运费",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("ZYF")),textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);



                //第5行
                cell = new PdfPCell(new Paragraph("开始时间",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setFixedHeight(50);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("结束时间",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("工作量",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("单价",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("运费(元)",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("桥路费(元)",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("甲方现场人员",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                cell = new PdfPCell(new Paragraph("路单复核人",textfont));//
                cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                table.addCell(cell);

                String LKGSJ="";
                String LWGSJ="";
                String GZL="";
                String DJ="";
                String YF="";
                String QLF="";
                String JFXCRY="";
                String FHRMC="";
                if (ldList.size()>0){
                    for (int i = 0; i  

4.效果图

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306532.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号