精华内容
下载资源
问答
  • Java张图片合成PDF

    2021-02-26 11:28:58
    importcom.itextpdf.text.Document;importcom.itextpdf.text.Image;importcom.itextpdf.text.Rectangle;importcom.itextpdf.text.pdf.PdfWriter;importjava.io.File;importjava.io.FileOutputStream;importorg.apach...

    importcom.itextpdf.text.Document;importcom.itextpdf.text.Image;importcom.itextpdf.text.Rectangle;importcom.itextpdf.text.pdf.PdfWriter;importjava.io.File;importjava.io.FileOutputStream;importorg.apache.log4j.Logger;/*** 图片转pdf工具类

    *

    *@authorAdministrator

    **/

    public classImg2PdfUtil {private static Logger logger = Logger.getLogger(Img2PdfUtil.class);/***

    *@paramoutPdfFilepath 生成pdf文件路径

    *@paramimageFiles 需要转换的图片File类Array,按array的顺序合成图片*/

    public static void imagesToPdf(String outPdfFilepath, File[] imageFiles) throwsException {

    logger.info("进入图片合成PDF工具方法");

    File file= newFile(outPdfFilepath);//第一步:创建一个document对象。

    Document document = newDocument();

    document.setMargins(0, 0, 0, 0);//第二步://创建一个PdfWriter实例,

    PdfWriter.getInstance(document, newFileOutputStream(file));//第三步:打开文档。

    document.open();//第四步:在文档中增加图片。

    int len =imageFiles.length;for (int i = 0; i < len; i++) {if (imageFiles[i].getName().toLowerCase().endsWith(".bmp")|| imageFiles[i].getName().toLowerCase().endsWith(".jpg")|| imageFiles[i].getName().toLowerCase().endsWith(".jpeg")|| imageFiles[i].getName().toLowerCase().endsWith(".gif")|| imageFiles[i].getName().toLowerCase().endsWith(".png")) {

    String temp=imageFiles[i].getAbsolutePath();

    logger.info("图片路径:"+temp);

    Image img=Image.getInstance(temp);

    img.setAlignment(Image.ALIGN_CENTER);

    img.scaleAbsolute(597, 844);//直接设定显示尺寸//根据图片大小设置页面,一定要先设置页面,再newPage(),否则无效//document.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));

    document.setPageSize(new Rectangle(597, 844));

    document.newPage();

    document.add(img);

    }

    }//第五步:关闭文档。

    document.close();

    logger.info("图片合成PDF完成");

    }public static voidmain(String[] args) {

    String outPdfPath= "C:\\Users\\Administrator\\Desktop\\广东\\需求\\20190104已确认需求\\Img2PdfTest\\Img2pdf.pdf";

    String imagesPath= "C:\\Users\\Administrator\\Desktop\\广东\\需求\\20190104已确认需求\\Img2PdfTest";

    String[] imgNameArray= new String[] { "1_0.png", "1_1.png", "1_2.png", "1_3.png", "1_4.png", "1_5.png","1_6.png", "1_7.png", "1_8.png", "1_9.png", "1_10.png", "1_11.png", };//imagesToPdf(outPdfPath, imagesPath, imgNameArray);

    }

    }

    展开全文
  • Java实现个图片转化成PDF

    多人点赞 2021-11-09 11:16:28
    Java实现个图片转化成PDF 依赖 <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> </dependency> &...

    Java实现多个图片转化成PDF

    依赖

           <dependency>
                <groupId>com.lowagie</groupId>
                <artifactId>itext</artifactId>
                <version>2.1.7</version>
            </dependency>
        </dependencies>
    

    文件处理工具类

    package com.alvin.file;
    
    import java.io.File;
    
    /**
     * 文件处理工具类
     */
    public class FileUtil {
        private static int index = 0;  //存储数组
        /**
         * 截取文件后缀名
         * @param file  文件类
         * @return
         */
        public static String fileLastName(File file) {
            if (file == null) {
            		return null;
            	}
            String filename = file.getName();
            String[] split = filename.split("\\.");
            if (split.length > 1) {
                return split[split.length - 1];
            } else {
                return "";
            }
        }
    
        /**
         * 返回列表文件
         * @param filePath  字符串 文件的路径 比如 G:/HTML/testData
         * @return
         */
        public static String[] getFileList(String filePath){
            File file = new File(filePath); //获得文件路径
            File []fileList = file.listFiles(); //获得下属列表
            String[] strList = new String[1024];    //数组存储
            for(File f :fileList){
                //只要图片
                if(fileLastName(f) == "jpg" || fileLastName(f).equals("jpg") || fileLastName(f) == "png" || fileLastName(f).equals("png")){
                    strList[index++] = f.toString();         //存储进去
                }
            }
            return strList;
        }
    }
    

    图片转换PDF类

    package com.alvin.file.pdf;
    
    import com.alvin.file.FileUtil;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import com.lowagie.text.BadElementException;
    import com.lowagie.text.Document;
    import com.lowagie.text.DocumentException;
    import com.lowagie.text.Image;
    import com.lowagie.text.pdf.PdfWriter;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    /**
     * 图片转换PDF类
     */
    public class ImgPDF {
        /**
         * 将图片转换成PDF
         * @param source        文件路径的集合 可以调用 FileUtil.getFileList() 方法
         * @param target        PDF的名字和位置
         */
        public static void ImgChangePDF(String []source, String target) {
            //创建一个文档对象
            Document doc = new Document();
            try {
                //定义输出文件的位置
                PdfWriter.getInstance(doc, new FileOutputStream(target));
                //开启文档
                doc.open();
                // 循环获取图片文件夹内的图片
                for (int i = 0; i < source.length; i++) {
                    if(source[i] == null){      //前面的方法默认了数组长度是1024,所以这里就让它提前退出循环
                        break;
                    }
                    //路径
                    Image  img = Image.getInstance(source[i]);
                    //获得宽高
                    Float h = img.getHeight();
                    Float w = img.getWidth();
                    //统一压缩
                    Integer percent = getPercent(h, w);
                    //图片居中
                    img.setAlignment(Image.MIDDLE);
                    //百分比显示图
                    img.scalePercent(percent);
                    //设置高和宽的比例
                    doc.add(img);
                }
                // 关闭文档
                if(doc != null){
                    doc.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            } catch (BadElementException e) {
                e.printStackTrace();
            } catch (DocumentException e) {
                e.printStackTrace();
            }
        }
        /**
         * 压缩
         * @param
         */
        public static Integer getPercent(Float h,Float w)
        {
            Integer g=0;
            Float g2=0.0f;
            g2=480/w*100;
            g=Math.round(g2);
            return g;
        }
    }
    

    最后测试

    public class Test {
        public static void main(String[] args) {
            String[] fileList = FileUtil.getFileList("G:/HTML/testData");
            String target = "G:/HTML/testData/0.pdf";
            ImgPDF.ImgChangePDF(fileList,target);
        }
    }
    
    展开全文
  • java将张图片合并转为PDF

    千次阅读 2021-02-28 13:49:26
    /** * 将张图片合并转为PDF;需要用到iTextpdf包, * * @author 浴缸 * */ public class PrintToPdfUtil { /** * * @param imageFolderPath * 图片文件夹地址 * @param pdfPath * PDF文件保存地址 * */ public ...

    所需jar包:com.lowagie.text

    package weaver.gy.util;

    import java.awt.image.BufferedImage;

    import java.io.File;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import javax.imageio.ImageIO;

    import com.lowagie.text.BadElementException;

    import com.lowagie.text.Document;

    import com.lowagie.text.DocumentException;

    import com.lowagie.text.Image;

    import com.lowagie.text.Rectangle;

    import com.lowagie.text.pdf.PdfWriter;

    /**

    * 将多张图片合并转为PDF;需要用到iTextpdf包,

    *

    * @author 浴缸

    *

    */

    public class PrintToPdfUtil {

    /**

    *

    * @param imageFolderPath

    * 图片文件夹地址

    * @param pdfPath

    * PDF文件保存地址

    *

    */

    public static void toPdf(String imageFolderPath, String pdfPath) {

    try {

    // 图片文件夹地址

    // String imageFolderPath = "D:/Demo/ceshi/";

    // 图片地址

    String imagePath = null;

    // PDF文件保存地址

    // String pdfPath = "D:/Demo/ceshi/hebing.pdf";

    // 输入流

    FileOutputStream fos = new FileOutputStream(pdfPath);

    // 创建文档

    Document doc = new Document(null, 0, 0, 0, 0);

    //doc.open();

    // 写入PDF文档

    PdfWriter.getInstance(doc, fos);

    // 读取图片流

    BufferedImage img = null;

    // 实例化图片

    Image image = null;

    // 获取图片文件夹对象

    File file = new File(imageFolderPath);

    File[] files = file.listFiles();

    // 循环获取图片文件夹内的图片

    for (File file1 : files) {

    if (file1.getName().endsWith(".png")

    || file1.getName().endsWith(".jpg")

    || file1.getName().endsWith(".gif")

    || file1.getName().endsWith(".jpeg")

    || file1.getName().endsWith(".tif")) {

    // System.out.println(file1.getName());

    imagePath = imageFolderPath + file1.getName();

    System.out.println(file1.getName());

    // 读取图片流

    img = ImageIO.read(new File(imagePath));

    // 根据图片大小设置文档大小

    doc.setPageSize(new Rectangle(img.getWidth(), img

    .getHeight()));

    // 实例化图片

    image = Image.getInstance(imagePath);

    // 添加图片到文档

    doc.open();

    doc.add(image);

    }

    }

    // 关闭文档

    doc.close();

    } catch (IOException e) {

    e.printStackTrace();

    } catch (BadElementException e) {

    e.printStackTrace();

    } catch (DocumentException e) {

    e.printStackTrace();

    }

    }

    public static void main(String[] args) {

    long time1 = System.currentTimeMillis();

    toPdf("D:/Demo/ceshi/", "D:/Demo/pdf/hebing.pdf");

    long time2 = System.currentTimeMillis();

    int time = (int) ((time2 - time1)/1000);

    System.out.println("执行了:"+time+"秒!");

    }

    }

    展开全文
  • Java实现批量图片生成PDF文件,这个也是比较常用到的。

    Java实现批量图片生成PDF文件,这个也是比较常用到的。

    需要引入一个包

    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itextpdf</artifactId>
        <version>${lastest.version}</version>
    </dependency>
    

    代码如下:

    public class PdfUtils {
        private static String FILEPATH = "E:\\pdf\\";
    
        /**
         * @param fileName   生成pdf文件
         * @param imagesPath 需要转换的图片路径的数组
         */
        public static void imagesToPdf(String fileName, String imagesPath) {
            try {
                fileName = FILEPATH + fileName + ".pdf";
                File file = new File(fileName);
                // 第一步:创建一个document对象。
                Document document = new Document();
                document.setMargins(0, 0, 0, 0);
                // 第二步:
                // 创建一个PdfWriter实例,
                PdfWriter.getInstance(document, new FileOutputStream(file));
                // 第三步:打开文档。
                document.open();
                // 第四步:在文档中增加图片。
                File files = new File(imagesPath);
                String[] images = files.list();
                int len = images.length;
    
                for (int i = 0; i < len; i++) {
                    if (images[i].toLowerCase().endsWith(".bmp")
                            || images[i].toLowerCase().endsWith(".jpg")
                            || images[i].toLowerCase().endsWith(".jpeg")
                            || images[i].toLowerCase().endsWith(".gif")
                            || images[i].toLowerCase().endsWith(".png")) {
                        String temp = imagesPath + "\\" + images[i];
                        Image img = Image.getInstance(temp);
                        img.setAlignment(Image.ALIGN_CENTER);
                        img.scalePercent(100);
                        // 根据图片大小设置页面,一定要先设置页面,再newPage(),否则无效
                        document.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));
                        document.newPage();
                        document.add(img);
                    }
                }
    
                // 第五步:关闭文档。
                document.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public static void main(String[] args) {
            imagesToPdf("我的pdf文件", "E:\\tmp");
        }
    }
    
    展开全文
  • (例)Java生成PDF图片 iTextimport java.io.ByteArrayOutputStream;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet....
  • 摘要:这篇Python开发技术栏目下的“Python图片合并PDF的方法”,介绍的技术点是“python图片合并pdf的方法、图片合并pdf、Python、图片合并、图片合并、图片”,希望对大家开发技术学习和问题解决有帮助...
  • 1、导入需要的jar包:itext-asian-5.2.0.jaritextpdf-5.5.11.jar。2、新建word文档,创建模板,将文件另存为pdf,并用Adobe Acrobat DC打开编辑,点击右侧...4、保存文件,将文件放到项目中。生成pdf代码如下:p...
  • react 生成pdf

    2020-12-21 06:52:48
    * 如果是node搭建的底层,引入方式不一样 jspdf需要用script标签全局引用 不然会报window错误*pdf如果想显示图片,必须为本地图片或者64转码之后的网络地址// 引用import jsPDF from 'jspdf';import ...
  • Android生成pdf

    2021-06-05 08:50:14
    最近项目中需要实现把页面内容生成pdf,并且是能够分页的功能,一开始百度各种资料,都能实现生成pdf,但是并不能分页,无奈只需查阅官方文档,在注释中找到了答案,总结如下关键代码就是中红框中的内容...
  • /** * 生成PDF文件 * * @author smile * QQ:1963938311 * */ public class PDFDemo { private Color black = new Color(0, 0, 0); // 黑色 private Color red = new Color(255, 0, 0); // 红色 private Color blue ...
  • nodejs生成pdf文件

    2021-10-08 17:24:59
    而不是所有的用户都知道HTML,但是知道和使用pdf的肯定多余HTML的,将HTML文件转pdf提供下载优化用户体验自然也就成为各位内卷的又一目标啦! [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传...
  • java 中实现HTML 生成pdf

    2021-02-27 14:50:44
    JAVA 中生成pdf 的方法很,iText是一个生成PDF文档的开源Java库。但是用iText生成pdf,有时候很难控制页面的样式。听说flying-saucer 可以对样式进行简单的支持。由于项目需要,用flying-saucer 体验 了一把,感觉...
  • 生成pdf的方式有多种,前端后端都可生成,各有优缺点,本文主要讲解前端生成pdf的方式,并解决了图片不能绘制的问题。前端生成,使用 html2canvas进行绘制。该方式操作简单,浏览器端即可完成,不会对服务器造成压力...
  • 1. 开源框架支持iText,生成PDF文档,还支持将XML、Html文件转化为PDF文件;Apache PDFBox,生成、合并PDF文档;docx4j,生成docx、pptx、xlsx文档,支持转换为PDF格式。比较:iText开源协议为AGPL,而其他两个...
  • 生成pdf ,图片不显示问题

    千次阅读 2021-03-09 15:35:22
    // 由于图片跨域导致不显示 // 设置属性 allowTaint: true,useCORS: true html2Canvas(document.getElementById(`id`),{ allowTaint: true, useCORS: true }).then(function (canvas) {})
  • 简介本文使用java引入apache提供的pdf操作工具生成pdf文件,主要是根据需求开发了一个util类,记录一下学习和开发过程。业务需求因为业务需要,对于不同的用户要生成一个不同的pdf文件,记录了保险用户的疾病信息和...
  • html 网页生成pdf 文件

    2021-03-26 14:06:04
    2: 可以把获取打印网页html,保存本地html 文件,再重启读取html文件,生成pdf 文件后,再删除html文件的的过程, 改成直接append 拼接html的string然后直接生成pdf文件 3: 后续可以利用document 的 add page 增加页面, /...
  • PHP生成PDF文件withFPDF

    2021-03-24 10:05:01
    PHP生成PDF文件withFPDF《用PHP生成PDF文件 with FPDF》特别为需要编程学习的朋友收集整理的,仅供参考。内容如下:What is FPDF?FPDF is a PHP class which allows to generate PDF files with pure PHP, that is ...
  • html生成PDF与图片

    2021-03-08 15:15:33
    * 生成文件名 */ const getFilename = () => { const newDate = new Date(); const year = newDate.getFullYear(); const month = (newDate.getMonth() + 1 + '').padStart(2, '0'); .
  • 1.基本环境①打开、关闭、文档信息设定:新建PDFLib对象,PDF_new()设定错误处理的方式,PDF_set_parameter(p, "errorpolicy", "return"),return标示当发生错误时直接从Lib函数中返回。设定文档信息,PDF_set_value...
  • Java 生成 PDF 文档

    2021-02-12 20:35:30
    1. 开源框架支持iText,生成PDF文档,还支持将XML、Html文件转化为PDF文件;Apache PDFBox,生成、合并PDF文档;docx4j,生成docx、pptx、xlsx文档,支持转换为PDF格式。比较:iText开源协议为AGPL,而其他两个...
  • 详解Java生成PDF文档方法|chu

    千次阅读 2021-02-26 20:57:10
    1. 开源框架支持iText,生成PDF文档,还支持将XML、Html文件转化为PDF文件;Apache PDFBox,生成、合并PDF文档;docx4j,生成docx、pptx、xlsx文档,支持转换为PDF格式。比较:iText开源协议为AGPL,而其他两个...
  • 一、需求说明:根据业务需要,需要在服务器端生成可动态配置的PDF文档,方便数据可视化查看。二、解决方案:iText+FreeMarker+JFreeChart生成可动态配置的PDF文档iText有很强大的PDF处理能力,但是样式和排版不好...
  • java批量生成pdf

    2021-02-07 11:49:50
    生成pdf 到年底了,公司是不是要求开始生成大量的pdf支持预览,下载,批量生成,烧脑的想法难为烧脑的人!!! 一:实现pdf预览 ...java 生成pdf的方式有很itext,freeemark,无奈需求需要按照不同pdf模版生产pdf, ...
  • 本文实例讲述了Python实现html转换为pdf报告(生成pdf报告)功能。分享给大家供大家参考,具体如下:1、先说下html转换为pdf:其实支持直接生成,有三个函数pdfkit.f安装python包:pip Install pdfkit系统安装...
  • 在网上搜索“PHP生成PDF”,方法有很种,下面这三种是网上提到最多的:■PDFLib:这是一个PHP扩展库,需要服务器空间安装并开启他才行,对于租用空间的广大屌丝来说,这个办法是行不通的。■TCPDF:TCPDF是一个...
  • [itext]Java生成PDF文件

    2020-12-20 13:02:32
    一、前言最近在做也导出试卷的功能,刚开始是导出为doc,可是导出来格式都有变化,最后说直接将word...经一番查找,选定iText--用于生成PDF文档的一个Java类库。二、iText简介iText是著名的开放源码的站点sourcefo...
  • Java利用itext实现导出PDF文件所需要的jar包:com.lowagie.text_2.1.7.v201004222200.jarjar包下载地址:http://cn.jarfire.org/com.lowagie.html一、主要步骤1.新建document对象第一个参数是页面大小。接下来的参数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 116,917
精华内容 46,766
关键字:

多图生成pdf