精华内容
下载资源
问答
  • java生成pdf文件并打印

    万次阅读 2018-11-24 17:03:42
     前几天,需要实现打印下载报表,经一番查找,选定iText--用于生成PDF文档的一个Java类库。废话不多说,进入正题。  二、iText简介  iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个...

    一、前言

      前几天,需要实现打印下载报表,经一番查找,选定iText--用于生成PDF文档的一个Java类库。废话不多说,进入正题。

      二、iText简介

      iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。

      iText的安装非常方便,在http://itextpdf.com/ 网站上下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。

    项目中需要引入的jar包:

    <!-- itext方式导出pdf -->
    		<dependency>
    			<groupId>com.itextpdf</groupId>
    			<artifactId>itextpdf</artifactId>
    			<version>5.5.10</version>
    		</dependency>
    		  <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>itext-asian</artifactId>
                <version>5.2.0</version>
            </dependency>

    三、建立第一个PDF文档

      用iText生成PDF文档需要5个步骤:

      ①建立com.lowagie.text.Document对象的实例。
      // 创建文本对象
            Document document = new Document();
             //横向,这个可以自己根据实际情况看需不需要,我的是竖着放不下,只能横向展示
             Rectangle pageSize = new Rectangle(PageSize.A4.getHeight(), PageSize.A4.getWidth());
             pageSize.rotate();
             document.setPageSize(pageSize);

      ②创建书写器(Writer)对象
            PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream());
            writer.setViewerPreferences(PdfWriter.PageModeUseThumbs);

      ③打开文档。
      document.open(); 

      ④向文档中添加内容。
      // 设置PDF ,即确定了表格的列数
            //设置宽度
            float[] widths = { 200, 200, 300, 500, 300, 300, 300, 300, 300, 300, 300,300,400,300,500,200,500,400,300};
            //表格处理   创建表格时必须指定表格的列数
            PdfPTable table = new PdfPTable(widths);
            table.setLockedWidth(true);
            table.setTotalWidth(800);
            table.setHorizontalAlignment(Element.ALIGN_CENTER);

            // 设置PDF表格标题
            pdfTitle(table);
            //制表单位等信息设置
            pdfTitle1(table,financeBatchId);
            //表头
            pdfTitle2(table);
            // 设置PDF表格内容
            pdfContent(table, financeBatchId);
            // 设置PDF合计
            pdfSubtotal(table, countDetails);
            //底部四个人名
            pdfDown(table,financeBatchId);

           // pdf文档中加入table
            document.add(table);

      ⑤关闭文档。
      document.close(); 

    看代码:

    @Override
    	public void printPayment(HttpServletResponse response, Integer financeBatchId) throws Exception {
    		List<BatchDetails> batchDetailsList=batchDetailsRepo.findByFinanceBatchId(financeBatchId);
    		//个人合计
    		CountDetails countDetails=ExcelUtil.subTotalCountDetails1(batchDetailsList);
    		// 创建文本对象
    		Document document = new Document();
    	     //横向
    	     Rectangle pageSize = new Rectangle(PageSize.A4.getHeight(), PageSize.A4.getWidth());
    	     pageSize.rotate();
    	     document.setPageSize(pageSize);
    		//创建书写器(Writer)对象
    		PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream());
    		writer.setViewerPreferences(PdfWriter.PageModeUseThumbs);
    		document.open();
    		// 设置PDF ,即确定了表格的列数
    		//设置宽度
    		float[] widths = { 200, 200, 300, 500, 300, 300, 300, 300, 300, 300, 300,300,400,300,500,200,500,400,300};
    		//表格处理   创建表格时必须指定表格的列数
    		PdfPTable table = new PdfPTable(widths);
    		table.setLockedWidth(true);
    		table.setTotalWidth(800);//550
    		table.setHorizontalAlignment(Element.ALIGN_CENTER);
    		// 设置PDF表格标题
    		pdfTitle(table);
    		//制表单位等信息设置
    		pdfTitle1(table,financeBatchId);
    		//表头
    		pdfTitle2(table);
    		// 设置PDF表格内容
    		pdfContent(table, financeBatchId);
    		// 设置PDF合计
    		pdfSubtotal(table, countDetails);
    		//底部四个人名
    		pdfDown(table,financeBatchId);
    		// pdf文档中加入table
    		document.add(table);
    		document.close();
    		response.setHeader("content-Type", "application/pdf");
    	}
    /**
    	 * 设置标题
    	 * @param table
    	 * @throws Exception
    	 */
    	private void pdfTitle(PdfPTable table) throws Exception {
    		String titleContent1= "*****************业务个人支付明细表";
    		// 表格的单元格
    		PdfPCell cell = new PdfPCell();
    		// 向单元格中插入数据
    		// new Paragraph()是段落的处理,可以设置段落的对齐方式,缩进和间距。
    		cell.setPhrase(new Paragraph(titleContent1, getPdfChineseFont1()));
    		cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    		cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
    		cell.setMinimumHeight(30);//设置表格行高   
    		cell.setBorderWidth(0f);//去除表格的边框
    		cell.setColspan(19);
    		//cell.setRowspan(19);
    		table.addCell(cell);
    	}

    剩下的表格的内容等信息都一样,根据实际情况自己去改动;

    现在给大家展示一下效果图:

     

    补充:之前上面的都是ok的,过了一段时间,打印出来的pdf是如下这样的

     

     

    接下来把上面主代码修改为如下:

    @Override
    	public void printPayment(HttpServletResponse response, Integer financeBatchId) throws Exception {
    		List<BatchDetails> batchDetailsList=batchDetailsRepo.findByFinanceBatchId(financeBatchId);
    		//个人合计
    		CountDetails countDetails=ExcelUtil.subTotalCountDetails1(batchDetailsList);
    		// 创建文本对象
    		Document document = new Document();
    	     //横向
    	     Rectangle pageSize = new Rectangle(PageSize.A4.getHeight(), PageSize.A4.getWidth());
    	     pageSize.rotate();
    	     document.setPageSize(pageSize);
    		//创建书写器(Writer)对象
    	     ByteArrayOutputStream ba = new ByteArrayOutputStream();  
    	     PdfWriter writer = PdfWriter.getInstance(document, ba);
    //	     下面response.getOutputStream()不行,会出现类似乱码
    //		PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream());
    		writer.setViewerPreferences(PdfWriter.PageModeUseThumbs);
    		document.open();
    		// 设置PDF ,即确定了表格的列数
    		//设置宽度
    		float[] widths = { 200, 200, 300, 500, 300, 300, 300, 300, 300, 300, 300,300,400,300,500,200,500,400,300};
    		//表格处理   创建表格时必须指定表格的列数
    		PdfPTable table = new PdfPTable(widths);
    		table.setLockedWidth(true);
    		table.setTotalWidth(800);//550
    		table.setHorizontalAlignment(Element.ALIGN_CENTER);
    		// 设置PDF表格标题
    		pdfTitle(table);
    		//制表单位等信息设置
    		pdfTitle1(table,financeBatchId);
    		//表头
    		pdfTitle2(table);
    		// 设置PDF表格内容
    		pdfContent(table, financeBatchId);
    		// 设置PDF合计
    		pdfSubtotal(table, countDetails);
    		//底部四个人名
    		pdfDown(table,financeBatchId);
    		// pdf文档中加入table
    		document.add(table);
    		document.close();
    		response.setHeader("content-Type", "application/pdf");
    		ServletOutputStream out = response.getOutputStream();
    		ba.writeTo(out);//将字节数组输出流中的数据写入指定的OutputStream输出流中.
    		out.flush();   		
    	}

    修改的代码

    //创建书写器(Writer)对象
             ByteArrayOutputStream ba = new ByteArrayOutputStream();  
             PdfWriter writer = PdfWriter.getInstance(document, ba);
    //         下面response.getOutputStream()不行,会出现类似乱码
    //        PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream());

     

    展开全文
  • java生成pdf文件并在网页下载

    千次阅读 热门讨论 2017-09-06 19:27:22
    项目用maven进行构建,具体代码及依赖如下:不懂得欢迎提问 需要的maven的pom文件如下: com.itextpdf itextpdf 5.5.10 ... * pdf文件生成以及下载 * @param response */ ...

    项目用maven进行构建,具体代码及依赖如下:不懂得欢迎提问

    需要的maven的pom文件如下:

     

    
    		
    			com.itextpdf
    			itextpdf
    			5.5.10
    		
    
    		
    		
    			com.itextpdf
    			itext-asian
    			5.2.0
    		empty/**
    	 * pdf文件生成以及下载
    	 * @param response
    	 */
    	@RequestMapping(value = "yanyan")
    	public void downLoadPDF(HttpServletResponse response){
    		String fileName = "企业基本情况登记表.pdf";
    		OutputStream outputStream = null;
    		try {
    			// 防止中文乱码
    			fileName = URLEncoder.encode(fileName, "UTF-8");
    			response.reset();
    			response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
    			response.setContentType("application/octet-stream;charset=UTF-8");
    			outputStream = new BufferedOutputStream(response.getOutputStream());
    			//生成pdf文件
    			TestModel.createBusinessInfoPDF(outputStream);
    			outputStream.flush();
    		} catch (UnsupportedEncodingException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}finally {
    			try {
    				if (outputStream != null) {
    					outputStream.close();
    				}
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    	}

    项目是springboot项目,controller的头部已加了RestController,故方法上面只加了RequestMapping注解,项目启动成功后,直接输入访问目录即可下载文件,下载的文件:

    
     

    具体的伪代码已上传github:https://github.com/daydayupyan/createPdfProject 

    生成pdf的代码都在service里面,util里面为封装的方法。

     

     

     

    展开全文
  • Java生成PDF文件

    千次阅读 2019-07-17 20:43:49
    PDF作为日常常见的文件格式之一,有时候经常需要使用到。...使用IText生成PDF:IText是一个能够快速生成PDF文件Java类库,IText的Java类对于那些要生成包括文本,表格,图形的只读文档是很好用的。 ...

    PDF作为日常常见的文件格式之一,有时候经常需要使用到。在Java中生成PDF的方式一般有:itext-PdStamper pdfStamper(根据模板生成PDF),itext-Document document(使用代码编写)等。

    使用IText生成PDF:IText是一个能够快速生成PDF文件的Java类库,IText的Java类对于那些要生成包括文本,表格,图形的只读文档是很好用的。

    IText依赖jar包 (百度云下载)

    https://pan.baidu.com/s/1ymVgFjE6oSoS4VI2UKRCWg

    API接口地址:https://api.itextpdf.com/itex/

    在java项目导入依赖jar包,如下

    itext-asian.jar 中文支持

     

    Document对象 构造方法

    Document(Rectangle pageeSize,float marginLeft,float marginTop,float marginBottom) 分别代表PDF页面大小,内容距离文档边的距离。

    默认 Document() 无参 默认为 A4 ,36,36,36,36

    属性

    版本(PdfVersionImp)、标题(Title)、作者(Author)、主题(Subject)、关键字(Keywords)、创建者(Creator)等

    方法

    add() 向文档添加内容  newPage()添加下一页 getPageSize()页面大小等等方法

    Rectangle对象 (页面对象)

    常用的构造方法 Rectangle(PageSize.A4)

    属性:NO_BORDER (无边框) ,

    方法:rotate()横向打印 setBackgroundColor()设置背景色 setBorder()设置边框 setBorderColor()设置边框颜色

    Element接口

    内容对象差不多都实现了该接口,可以设置一些方位参数,如居中对齐。

    Paragraph段落对象 方法  add(Element)添加 以及一些设置段落文字格式的方法

     

    PDF文档生成(不使用模板)

    FileOutputStream out;

           @Test

     public void test() throws DocumentException, MalformedURLException, IOException {

               out = new FileOutputStream("D:\\Demo\\.pdf");

                // 设置页面的属性 

                Rectangle tRectangle = new Rectangle(PageSize.A4); // 页面大小 

                tRectangle.setBackgroundColor(BaseColor.WHITE); // 页面背景色 

                tRectangle.setBorder(1220);// 边框 

                tRectangle.setBorderColor(BaseColor.BLUE);// 边框颜色 

                tRectangle.setBorderWidth(244.2f);// 边框宽度 

                Document doc = new Document(tRectangle);// 定义文档  

                doc = new Document(tRectangle.rotate());// 横向打印 

                PdfWriter writer = PdfWriter.getInstance(doc, out);// 书写器 

                writer.setPdfVersion(PdfWriter.PDF_VERSION_1_2);//版本(默认1.4) 

                //设置PDF文档属性 

                doc.addTitle("");// 标题 

                doc.addAuthor("朱自清");// 作者 

                doc.addSubject("春天的脚步近了");// 主题 

                doc.addKeywords("");// 关键字 

                doc.addCreator("田野上的风筝");// 创建者 

                Paragraph tParagraph = new Paragraph(""  , getChineseFont()); 

                tParagraph.setAlignment(Element.ALIGN_JUSTIFIED);// 对齐方式 

    Paragraph  tParagraphs = new Paragraph("盼望着,盼望着,东风来了春天的脚步近了。一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了", getChineseFont()); 

                tParagraph.setAlignment(Element.ALIGN_CENTER);// 居中

                tParagraph.setIndentationLeft(12);// 左缩进 

                tParagraph.setIndentationRight(12);// 右缩进 

                tParagraph.setFirstLineIndent(24);// 首行缩进 

                tParagraph.setLeading(20f);// 行间距 

                tParagraph.setSpacingBefore(5f);// 设置上空白 

                tParagraph.setSpacingAfter(10f);// 设置段落下空白

                doc.setMargins(10, 20, 30, 40);// 页边空白 

                Image img = Image.getInstance("D:\\Demo\\spring.png"); 

                img.setAlignment(Image.MIDDLE);  //设置图片居中

                img.setBorder(Image.BOX); 

                img.setBorderWidth(10); 

                img.setBorderColor(BaseColor.WHITE); 

                img.scaleToFit(900, 350);// 设置图片大小 

                doc.open();// 打开文档 

                ///  doc.add(tRectangle);

                doc.add(tParagraph); //添加段落

                doc.add(tParagraphs); 

                doc.add(img); //添加img

              //  doc.newPage();    //添加下一页 

              //  writer.setPageEmpty(true);// fasle-显示空内容的页;true-不会显示 

                doc.close();  //记得关闭document

          }

    //支持中文 设置字体,字体颜色、大小等

    public Font getChineseFont() { 

                BaseFont simpChinese

                Font ChineseFont = null

                try

                simpChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); 

                ChineseFont = new Font(simpChinese, 12, Font.NORMAL, BaseColor.BLUE); 

                } catch (DocumentException e) { 

                    e.printStackTrace(); 

                } catch (IOException e) { 

                    e.printStackTrace(); 

                } 

                return ChineseFont

            } 

    使用IText生成PDF文件(无模板),仔细看官方API文档即可轻松创建PDF文档。

    运行

     

     

    使用模板生成PDF文件(准备一个PDF模板)

    模板的制作;使用word文档新建一个内容文档,如在文档放一个表格,将文档转为PDF格式,转为PDF文件后,使用PDF编辑器打开(工具可以使用Adobe Acrobat Pro),在PDF编辑器里添加表单域,一般如果是内容是表格的话,该工具会自动识别并添加域。也可以自己添加域,建议自己添加文本域,(这样比自动添加要稳)并设置字体属性,属性包括字体大小,样式。对齐等。

    如下,高亮部分代表表单域。

    下面直接上代码

    public void fillTemplate() {

            try {

    FileOutputStream out = new FileOutputStream("D:\\is\\夏季.pdf");// 输出流

    PdfReader reader = new PdfReader("F:\\Java\\PDF模板\\夏季.pdf");//读取pdf模板

    ByteArrayOutputStream  bos = new ByteArrayOutputStream();

    PdfStamper stamper = new PdfStamper(reader, bos);

    AcroFields form = stamper.getAcroFields();

    String[] str = { "星火小学", "2019-8-1", "8:00-20:00"};//定义数组,用于赋值

    BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); //设置中文

    ArrayList<BaseFont> fontList = new ArrayList<BaseFont>();

    fontList.add(bf); //添加字体

    form.setSubstitutionFonts(fontList); //设置替换字体

    Iterator<String> it=form.getFields().keySet().iterator();//得到字段迭代器

    while (it.hasNext()) {//遍历输出表单域名与值

                    String name = it.next().toString();

                    form.setField(name, str[i]);

                    System.out.println("name="+name+";str="+str[i++]);

                }

                stamper.setFormFlattening(true);// 设置为fasle,生成PDF将不能编辑

                stamper.close();//关闭PdfStamper

                Document doc = new Document();//实例化Document对象

                PdfCopy copy = new PdfCopy(doc, out);

                doc.open();//打开文档

                PdfImportedPage importPage = copy.getImportedPage(new PdfReader(bos.toByteArray()), 1);

                copy.addPage(importPage);

                doc.close();

            } catch (Exception e) {

                e.printStackTrace();

            }

        }

    运行上面方法

    总结:不使用模板生成PDF文件,模板不固定,可以根据代码进行调整,但维护的代码比较多,使用模板生成PDF文件:代码简单明了,但花在准备模板的时间也很多,而且表单域的长度也固定,超出可能会显示不全

    展开全文
  • java生成PDF文件

    千次阅读 2017-10-23 17:01:31
    Java生成pdf的方法很多,项目用到两种,一种是用adobecrobat pro版画一个模板,定义变量,然后依次把变量的值通过接口赋值过去。但是这个软件兼容性有问题,而且是个收费的工具。有些时候生成的pdf文件在某些pdf...

    用Java生成pdf的方法很多,项目用到两种,一种是用adobecrobat pro版画一个模板,定义变量,然后依次把变量的值通过接口赋值过去。但是这个软件兼容性有问题,而且是个收费的工具。有些时候生成的pdf文件在某些pdf软件中能显示,有些不能显示。所以想用Java直接生成pdf文件。

    首先下载两个包,网上很多网友说下载不了,我下载的时候没有遇到什么问题,不需要注册,直接下载就行了。

    网址:https://sourceforge.net/projects/itext/files/

    我是下载最新的版本,下载下来是个压缩包,普通制作pdf只需要其中一个包


    然后下载一个中文字符的语言包:

    网址:http://sourceforge.net/projects/itext/files/extrajars/


    将上面的两个包加入到项目中。就可以开始编程了:

    package com.sunyard.object;
    import com.itextpdf.text.*;
    import com.itextpdf.text.pdf.BaseFont;
    import com.itextpdf.text.pdf.PdfPCell;
    import com.itextpdf.text.pdf.PdfPTable;
    import com.itextpdf.text.pdf.PdfWriter;
    
    import java.io.File;
    import java.io.FileOutputStream;
    
    
    public class PDFReport{
        Document document = new Document();// 建立一个Document对象
    
        private static Font headfont ;// 设置字体大小
        private static Font keyfont;// 设置字体大小
        private static Font textfont;// 设置字体大小
    
    
        int maxWidth = 520;
        static{
            BaseFont bfChinese;
            try {
                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();
            }
    
    
        }
    
    
        public PdfPCell createCell(String value,com.itextpdf.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.itextpdf.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.itextpdf.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 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<7;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();
            System.out.println("运行完毕!");
        }
        
    }
    运行下结果在D盘的根目录下:


    结尾。。。

    展开全文
  • java实现pdf的生成下载打印,java生成pdf电子账单,java生成pdf合同模板,Itext编辑pdf,java使用itext
  • iText5实现Java生成PDF文件完整版

    万次阅读 多人点赞 2019-04-25 21:39:22
    最近项目中使用到Java实现导出PDF文件,经过一番参考研究最终决定使用itextpdf来实现,当然也可以参考 PDF Java类库:Spire.PDF for Java(https://www.e-iceblue.cn/spirepdfjava/create-pdf-in-java.html)。...
  • java生成pdf文件Demo加印章

    热门讨论 2017-03-28 16:42:43
    通过java代码先生成html,然后再将html转换成所需要的pdf文件加盖印章。
  • java 代码生成PDF文件

    千次阅读 2018-05-28 07:39:10
    Java生成pdf文件
  • Java使用itext7生成pdf文件并下载

    千次阅读 2020-05-14 15:16:50
    首先需要引入itext7的jar包,...com.itextpdf</groupId> <artifactId>itext7-core</artifactId> <version>7.0.3</version> <type>pom</type> </dependency> Spri
  • Java生成PDF文件(Itext篇)

    千次阅读 2018-08-15 18:14:24
    通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超链接显示或下载得到生成的报表,这样就很好的解决了B/S系统的报表处理问题。 iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成...
  • java生成pdf文件的说明

    千次阅读 2016-10-08 11:35:49
     前几天,做ASN条码收货模块,需要实现打印下载收货报表,经一番查找,选定iText--用于生成PDF文档的一个Java类库。废话不多说,进入正题。  二、iText简介  iText是著名的开放源码的站点sourceforge一个...
  • java根据模板生成pdf文件并导出首先你的制作一个pdf模板:1.先用word做出模板界面2.文件另存为pdf格式文件3.通过Adobe Acrobat pro软件打开刚刚用word转换成的pdf文件(注:如果没有这个软件可以通过我的百度云下载...
  • Java根据模板生成pdf文件并导出

    千次阅读 2018-03-05 20:03:38
    原文地址:...通过Adobe Acrobat pro软件打开刚刚用word转换成的pdf文件(注:如果没有这个软件可以通过我的百度云下载,链接:http://pan.baidu.com/s/1pL2klzt)...
  • 如何用java生成pdf文件

    2016-01-10 12:16:51
    就是写一个方法,把一个html文件打印成pdf文件,我按照网上的试了,用了itext,结果不能显示中文,求大神帮忙,最好给出相应的jar包
  • JAVA根据模板生成PDF文件并导出

    千次阅读 热门讨论 2020-01-10 14:31:09
    根据模板生成PDF文件,模板文件参数可配,可手动修改. 一 : PDF导出效果 先看一下导出的demo文件,具体样式可手动修改 下图为demo_pdf.ftl导出PDF文件 下图为list_pdf.ftl导出PDF文件 二 : 编写PDF模板 PDF...
  • java根据模板生成pdf文件并导出

    万次阅读 多人点赞 2017-03-23 13:18:29
    3.通过Adobe Acrobat pro软件打开刚刚用word转换成的pdf文件(注:如果没有这个软件可以通过我的百度云下载,链接:http://pan.baidu.com/s/1pL2klzt)如果无法下载可以联系博主。 4.点击右边的"准备表单"按钮,...
  • java生成pdf文件的工具类

    千次阅读 2016-10-08 10:34:13
    1、需要导入itext.jar和iTextAsian.jar 下载地址:http://sourceforge.net/projects/itext/files/ [java] view plain copy import java.awt.Color;  import java.io.File;  ...
  • java工程需要生成pdf文件,之前没了解过这方面,最近上网查了下有 两种方案:jasperReport和itext, 不知道这两种方案有什么关系和各有什么优缺点,希望各位大神赐教,小女子在此先谢过了
  • Java 生成pdf并下载

    千次阅读 2019-02-17 18:38:24
    需先制作模板,制作过程参考... 下载代码:  /**  * 利用模板下载pdf  * @param request  * @param response  * @param data 生成pdf内容数据集  * @param filename文件名  ...
  • SpringMVC实例-HTML代码生成PDF文件并下载
  • Java使用iTextPDF生成PDF文件

    千次阅读 2021-02-22 12:00:11
    因为项目需要生成PDF文件,所以去找了一下能够生成PDF的Java工具,看到了iText可以说好评如潮。 如果你想通过java操作PDF文件,那么 iText 绝对是你的首选。 引入依赖 这里使用的是iText5 <dependency> <...
  • java把数据生成pdf文件

    千次阅读 2017-05-10 13:37:13
    java生成pdf文件 itext7-pdfa-7.0.2.jar
  • java生成pdf文件乱码问题解决

    千次阅读 2019-08-12 20:46:04
    原因一:查看下是不是模版的问题,生成的pdf模版,是通过word转来,用最新的word版本生成pdf模版 原因二:往pdf中填充的字体乱码,需要针对填充pdf域进行设置字体和格式 ...
  • java 根据PDF模板生成PDF文件并导出

    千次阅读 2019-04-27 11:27:21
    1.准备操作的maven包 <dependency> <groupId>com.itextpdf</groupId>...itextpdf</artifactId> <version>5.5.1</version> </dependency> <depen...
  • java生成pdf文件包含表格

    千次阅读 2013-03-04 16:35:22
    转载自csdn,原文地址:... jar包参照我的上传资源 java生成PDF列表: package org.test; import java.awt.Color;  import java.io.File;  import java.io.FileNotFoundExcep
  • 在这里再整理一下生成pdf文件并同样以ByteArrayOutputStream的形式传输至JavaMail附件中的方法。 其中,最主要的重点就是: pdf中的字体格式(由于itext对中文支持较差,而若直接采用itext自带的字体会导致最终...
  • java使用pdf模板生成pdf文件

    千次阅读 2018-01-19 14:44:28
    遇到了一个变态的需求,要我们在后台生成一个pdf文件,格式又很复杂,想了想如果自己手动利用iText绘制一个pdf,不太现实,通过查找资料后,发现了一种方法: 利用itextpdf+adobe acrobat+pdf模板生成pdf文件 ...
  • java 生成pdf 压缩 文件大小 java使用itext生成pdf文件,文件大小压缩,比如大小34M变成1M或更小,大神

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,547
精华内容 22,218
关键字:

java生成pdf文件并下载

java 订阅