java生成PDF文件

Java中的PDF生成 在这个数字化时代,PDF文件已成为传递信息的重要方式。无论是合同、报告,还是技术文档,PDF都因其跨平台兼容性和固定格式而备受青睐。那么,你是否想过如何使用Java生成PDF呢?今天,我们将深入探讨Java中的PDF生成技术,让你轻松掌握这一技能,成为职场中的技术达人。在深入讨论技术细节之前,我们先来简单了解一下PDF。PDF,全称为Portable Document Format,是由Adobe公司在1993年推出的一种文件格式。 阅读详情

1、需要导入itext.jar和iTextAsian.jar  下载地址:http://sourceforge.net/projects/itext/files/

import java.awt.Color;  
import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.text.DecimalFormat;  
import java.text.NumberFormat;  
import java.util.ArrayList;  
import java.util.Date;  
  
import com.lowagie.text.Document;  
import com.lowagie.text.DocumentException;  
import com.lowagie.text.Element;  
import com.lowagie.text.Font;  
import com.lowagie.text.PageSize;  
import com.lowagie.text.Paragraph;  
import com.lowagie.text.Phrase;  
import com.lowagie.text.pdf.BaseFont;  
import com.lowagie.text.pdf.PdfCell;  
import com.lowagie.text.pdf.PdfPCell;  
import com.lowagie.text.pdf.PdfPRow;  
import com.lowagie.text.pdf.PdfPTable;  
import com.lowagie.text.pdf.PdfWriter;  
import com.sun.java_cup.internal.internal_error;  
  
public class PDFReport{  
    Document document = new Document();// 建立一个Document对象      
      
    private static Font headfont ;// 设置字体大小  
    private static Font keyfont;// 设置字体大小  
    private static Font textfont;// 设置字体大小  
      
  
      
    static{  
        BaseFont bfChinese;  
        try {  
            //bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);  
            bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);  
            headfont = new Font(bfChinese, 10, Font.BOLD);// 设置字体大小  
            keyfont = new Font(bfChinese, 8, Font.BOLD);// 设置字体大小  
            textfont = new Font(bfChinese, 8, Font.NORMAL);// 设置字体大小  
        } catch (Exception e) {           
            e.printStackTrace();  
        }   
    }  
      
      
    public PDFReport(File file) {          
         document.setPageSize(PageSize.A4);// 设置页面大小  
         try {  
            PdfWriter.getInstance(document,new FileOutputStream(file));  
            document.open();   
        } catch (Exception e) {  
            e.printStackTrace();  
        }   
          
          
    }  
    int maxWidth = 520;  
      
      
     public PdfPCell createCell(String value,com.lowagie.text.Font font,int align){  
         PdfPCell cell = new PdfPCell();  
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);          
         cell.setHorizontalAlignment(align);      
         cell.setPhrase(new Phrase(value,font));  
        return cell;  
    }  
      
     public PdfPCell createCell(String value,com.lowagie.text.Font font){  
         PdfPCell cell = new PdfPCell();  
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);  
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);   
         cell.setPhrase(new Phrase(value,font));  
        return cell;  
    }  
  
     public PdfPCell createCell(String value,com.lowagie.text.Font font,int align,int colspan){  
         PdfPCell cell = new PdfPCell();  
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);  
         cell.setHorizontalAlignment(align);      
         cell.setColspan(colspan);  
         cell.setPhrase(new Phrase(value,font));  
        return cell;  
    }  
    public PdfPCell createCell(String value,com.lowagie.text.Font font,int align,int colspan,boolean boderFlag){  
         PdfPCell cell = new PdfPCell();  
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);  
         cell.setHorizontalAlignment(align);      
         cell.setColspan(colspan);  
         cell.setPhrase(new Phrase(value,font));  
         cell.setPadding(3.0f);  
         if(!boderFlag){  
             cell.setBorder(0);  
             cell.setPaddingTop(15.0f);  
             cell.setPaddingBottom(8.0f);  
         }  
        return cell;  
    }  
     public PdfPTable createTable(int colNumber){  
        PdfPTable table = new PdfPTable(colNumber);  
        try{  
            table.setTotalWidth(maxWidth);  
            table.setLockedWidth(true);  
            table.setHorizontalAlignment(Element.ALIGN_CENTER);       
            table.getDefaultCell().setBorder(1);  
        }catch(Exception e){  
            e.printStackTrace();  
        }  
        return table;  
    }  
     public PdfPTable createTable(float[] widths){  
            PdfPTable table = new PdfPTable(widths);  
            try{  
                table.setTotalWidth(maxWidth);  
                table.setLockedWidth(true);  
                table.setHorizontalAlignment(Element.ALIGN_CENTER);       
                table.getDefaultCell().setBorder(1);  
            }catch(Exception e){  
                e.printStackTrace();  
            }  
            return table;  
        }  
      
     public PdfPTable createBlankTable(){  
         PdfPTable table = new PdfPTable(1);  
         table.getDefaultCell().setBorder(0);  
         table.addCell(createCell("", keyfont));           
         table.setSpacingAfter(20.0f);  
         table.setSpacingBefore(20.0f);  
         return table;  
     }  
       
     public void generatePDF() throws Exception{  
        PdfPTable table = createTable(4);  
        table.addCell(createCell("学生信息列表:", keyfont,Element.ALIGN_LEFT,4,false));  
              
        table.addCell(createCell("姓名", keyfont, Element.ALIGN_CENTER));  
        table.addCell(createCell("年龄", keyfont, Element.ALIGN_CENTER));  
        table.addCell(createCell("性别", keyfont, Element.ALIGN_CENTER));  
        table.addCell(createCell("住址", keyfont, Element.ALIGN_CENTER));  
          
        for(int i=0;i<5;i++){  
            table.addCell(createCell("姓名"+i, textfont));  
            table.addCell(createCell(i+15+"", textfont));  
            table.addCell(createCell((i%2==0)?"男":"女", textfont));  
            table.addCell(createCell("地址"+i, textfont));  
        }  
        document.add(table);  
          
        document.close();  
     }  
       
     public static void main(String[] args) throws Exception {  
         File file = new File("D:\\text.pdf");  
         file.createNewFile();  
        new PDFReport(file).generatePDF();        
    }  
      
      
}


java按模板生成pdf_java中根据模板生成pdf文件 简介本文使用java引入apache提供的pdf操作工具生成pdf文件,主要是根据需求开发了一个util类,记录一下学习和开发过程。业务需求因为业务需要,对于不同的用户要生成一个不同的pdf文件,记录了保险用户的疾病信息和结算信息等,根据pdf模板,从数据库中获取用户的基本和结算信息,然后生成该用户的结算文件。根据这个需求,写了一个工具类,主要功能就是根据模板生成pdf文件,并保存到服务器指定位置... 阅读详情

相关推荐

自动生成PDF文件(Java通过PDF模板自动生成PDF)

思路: 1、创建PDF模板(先创建对应的excel文件,创建好后另存为PDF文件)即可。 2、使用AdobeAcrobat DC工具打开PDF文件,设置自己想要替换的内容。 3、maven项目引入依赖: <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.5</ve.

Vincebran的博客 2123

【教程】如何使用Java生成PDF文档?

PDF文档的生成通常包括两个步骤,首先需要使用Java代码创建一个PDF文档对象,然后向文档中添加内容。要生成PDF文档,我们可以使用多种Java开源库,如iText、Apache PDFBox和Flying Saucer等。在本教程中,我们将使用iText库来生成PDF文档。iText是一个流行的开源Java库,它提供了创建PDF文档所需的所有功能。本教程介绍了如何使用Java和iText库生成PDF文档。我们首先介绍了如何创建文档对象,然后向其中添加文本、图片和表格等内容。

Dark_orange的博客 1万+

iTextAsian.jar iText.jar

iTextAsian.jar iText.jar java生成pdf的相关jar包 目前已被替换,此版本可用

java实现生成PDF文件

1.PDF文件简介 PDF是可移植文档格式,是一种电子文件格式,具有许多其他电子文档格式无法相比的优点。PDF文件格式可以将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中。该格式文件还可以包含超文本链接、声音和动态影像等电子信息,支持特长文件,集成度和安全可靠性都较高。在系统开发中通常用来生成比较正式的报告或者合同类的电子文档。 2.生成P

xhga 2万+

itext-asian.jar

itext-asian.jar、itext-asian.jar、itext-asian.jar、itext-asian.jar

国产AI芯动力:复旦微FMQL100TAI900 FPGA原型验证板全解析

本文全面解析了复旦微FMQL100TAI900 FPGA原型验证板在国产AI硬件领域的创新突破。该板卡采用全栈国产化设计,具备出色的AI推理性能、视频处理能力和接口生态,特别适合工业质检、智能交通等场景。文章详细介绍了其芯片架构、存储子系统、接口扩展及电源设计,并分享了实战开发经验,为开发者提供了一套可靠的国产计算平台解决方案。

weixin_29250573的博客 457

Java 在线生成 PDF 文件

Java 在线生成 PDF 文件

weixin_46619605的博客 2057

fastjson1.2.83反序列化漏洞

【代码】fastjson1.2.83反序列化漏洞。

Coder的博客 1万+

Java使用pdf模板生成pdf文件

有时候,业务中我们需要使用pdf模板生成一份pdf文件。如何生成pdf文件?如下,我们把左侧的模板生成为右侧的填充文件。

不积跬步,无以至千里 2万+

STM32G0定时器中断实战:HAL库配置TIM2实现精准1秒LED闪烁(附完整代码)

本文深入解析了STM32G0系列微控制器中定时器中断的配置与应用,重点介绍了如何使用HAL库配置TIM2实现精准的1秒LED闪烁。通过详细讲解时钟树分析、预分频系数与自动重装载寄存器的计算原理,并结合CubeMX图形化配置与完整代码示例,帮助开发者从底层理解定时器工作机制,掌握可复用的工程化配置方法。

weixin_29194817的博客 253

3D Gaussian Splatting环境配置和运行

使用conda命令根据environment.yml文件创建虚拟环境时,安装的pytorch是使用conda install 命令来安装的,实际上并不能成功安装带有gpu的pytorch,而这两个模块的安装依赖于带gpu的pytorch。如果不注释掉这三行,直接安装会报错

m0_46360757的博客 3326

java 生成pdf文件_java中根据模板生成pdf文件

简介本文使用java引入apache提供的pdf操作工具生成pdf文件,主要是根据需求开发了一个util类,记录一下学习和开发过程。业务需求因为业务需要,对于不同的用户要生成一个不同的pdf文件,记录了保险用户的疾病信息和结算信息等,根据pdf模板,从数据库中获取用户的基本和结算信息,然后生成该用户的结算文件。根据这个需求,写了一个工具类,主要功能就是根据模板生成pdf文件,并保存到服务器指定位置...

weixin_34729012的博客 521

新手避坑指南:HT7036计量芯片SPI读取电压的完整流程(从复位到校准)

本文详细介绍了HT7036计量芯片的SPI读取电压完整流程,从硬件准备到校准设置,重点解析了复位引脚处理、SPI通信配置、芯片初始化及数据处理等关键步骤。针对常见问题如晶振焊接、SPI时序错误等提供实用解决方案,帮助开发者高效完成电压测量与校准。

weixin_30070339的博客 326

使用Java生成PDF文件

java使用itext生成pdf,直接执行main方法可用!!

enhengguodong的博客 1万+

深信服桌面云实战:从零部署到高效运维的关键配置指南

本文提供了一份深信服桌面云从零部署到高效运维的实战指南。内容涵盖项目启动阶段的资源、网络与存储规划,详细演示了VMP与VDC平台的安装与对接,并深入讲解了制作虚拟机模板、配置用户体系、优化终端策略等核心步骤。最后,分享了包括CPU公平分配、智能调度在内的关键性能调优与高阶运维技巧,旨在帮助管理员构建稳定、高效的云桌面环境。

blockchain9miner的博客 451

Prometheus+Grafana部署及企业微信邮件/群消息告警通知配置

本文详细介绍了在Ubuntu 22.04系统上部署普罗米修斯监控系统的完整流程。首先说明了系统配置要求(2核CPU、4G内存、100G硬盘),然后分步骤指导下载、解压和安装普罗米修斯服务。文章包含配置prometheus.yml文件、启动服务、设置系统服务等关键操作,并提供了访问9090端口验证服务的方法。接着介绍了通过node_exporter监控Linux主机的配置过程,包括安装、启动服务和修改普罗米修斯配置文件添加监控项。最后还涉及了mysqld_exporter的部署流程,用于监控MySQL数据库服

m0_58761900的博客 1640

java 生成pdf文件_Java 中HTTP响应数据生成PDF,PDF文件的读取

将HTTP响应数据生成PDF,这一步的话,就比较坑,浪费了好多时间,查了很多资料,也是我想把它记录下来的主要原因,废话少说,先说踩的坑1.区分字符流、字节流这里可以百度一下,但是简言之就是:java中提供了专用于输入输出功能的包Java.io,其中包括: InputStream,OutputStream,Reader,Writer InputStream 和OutputStream...

weixin_31880383的博客 2940

PyTorch实战(4)——卷积神经网络(Convolutional Neural Network,CNN)

卷积神经网络 (Convolutional Neural Network, CNN) 是一种广泛应用的深度学习模型。通过参数共享、局部感知和空间结构等优势,能够更好地处理图像数据,并在图像识别、目标检测和图像生成等任务中展现出强大的能力。在本节中,介绍了卷积的计算方法以及卷积神经网络的基本组件,并使用 PyTorch 构建了卷积神经网络以深入了解其工作原理。

盼小辉丶的博客 1万+

Java使用iText编辑PDF,动态生成PDF文件

Java使用iText编辑PDF,动态生成PDF文件 去发现同类优质开源项目:https://gitcode.com/ 本文详细介绍了如何使用Java中的iText库来编辑和动态生成PDF文件。文章从利用Adobe创建PDF模板开始,一步步详细讲解了整个过程。 内容概述 利用Adobe Acrobat DC软件创建PDF模板 下载并安装Adobe Acrobat DC软件。 使用软件创建PD...

gitblog_06527的博客 1062

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Java生成pdf文件

生成pdf文件 一,准备工具 Adobe Acrobat下载~提取码: nd3g Adobe Acrobat 9 Pro安装步骤 1、将压缩包解压后,使用鼠标左键双击打开安装文件。 2、进入安装程序,直接点击“下一步”。 3、选择Acrobat的安装类型。选择“典型”可以使用Acrobat的大部分主要功能,基本不会影响日常使用;选择“完整”将安装Acrobat的全部功能模块;选择“自定义”的话,用户可以自行决定需要安装的组件。选好后点击“下一步”。 4、在列表中选择需要的功能。然后点击“更改”按钮选择Ac

qq1328585964的博客 663

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java生成pdf_Java实现PDF文件生成并且打印pdf文件 demo

## Java实现PDF生成并且打印pdf文件(附demo)#### 目录:0. 效果预览1. 准备环境2. Java如何调用打印机进行打印3. Java如何生成pdf打印文件4. 实现pdf内数据动态填充(可按需求改变数据,有一个模板就行)##### 效果预览:- 说明:以下是根据不同用户数据和自己生成的pdf模板,动态生成的pdf文件,可直接调用打印机打印。- 数据可从数据库动态获取并且填充!...

weixin_36327991的博客 1250

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java 模板生成pdf文件

java 模板生成pdf文件1.准备工作1.1 安装Adobe Acrobat pro软件:用来制作导出模板1.2 用word 制作自己需要的模板,转成pdf格式1.3 使用Adobe Acrobat pro打开PDF2.java代码2.1 pom文件2.2生成代码2.3 输出到本地2.4 浏览器下载 (ajax请求无法下载) 1.准备工作 1.1 安装Adobe Acrobat pro软件:用来制作导出模板 1.2 用word 制作自己需要的模板,转成pdf格式 1.3 使用Adobe Acroba

戴维小熊的博客 5057

JasperReport生成pdf文件 Java开发pdf文件 pdf文件生成及下载

JasperReport制作报表, JasperReport生成pdf文件, Java开发pdf文件, pdf文件生成及下载, ireport制作pdf报表, Java报表, SpringBoot下载pdf文件, JasperReport加载模板报错, JasperReport找不到字体, JasperReport生成pdf时字体报错

yudian1991的博客 1万+

java中生成pdf文件,java 中生成pdf 文件

用的是itext library, 生成一个hello world pdf 文档/** This code is part of the 'iText Tutorial'.* You can find the complete tutorial at the following address:* http://itextdocs.lowagie.com/tutorial/** This code...

weixin_34788662的博客 292
上一篇: java实现串口pos机打印
下一篇: java上传文件到FTP
dinphi
博客等级 码龄18年 11粉丝 16原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值