精华内容
下载资源
问答
  • 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文件,这也是比较常用到的。

    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

    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);

    }

    }

    展开全文
  • 08 September 2020把图片快速合并成一个pdf文件img2pdf方案安装img2pdf,参考:https://gitlab.mister-muffin.de/josch/img2pdf;建意把源码下下来,在源码目录下直接使用pip3 install .安装,安装好后使用以下...

    08 September 2020

    把多张图片快速合并成一个pdf文件

    img2pdf方案

    安装img2pdf,参考:https://gitlab.mister-muffin.de/josch/img2pdf;

    建意把源码下下来,在源码目录下直接使用pip3 install .安装,安装好后使用以下命令即可把多张图片转成一个pdf。

    img2pdf *.png *.jpg -o out.pdf

    使用万能的 imagemagick

    使用brew安装好 imagemagick

    brew install imagemagick

    如果安装失败,使用sudo chown -R $(whoami) $(brew --prefix)/*,或者:

    sudo mkdir /usr/local/Frameworks

    sudo chown $USER /usr/local/Frameworks

    转成pdf

    convert *.jpg output.pdf

    convert -quality 60 *.jpg output.pdf

    如果是window,可以使用 cygwin 安装 imagemagick 。

    把PDF导出成一张张image/html/text

    pdftopng ./aaa.pdf ./aaa # 导出成png图片

    pdftohtml ./aaa.pdf ./aaa # 导出html并放到生成的aaa目录下

    pdftotext ./aaa.pdf ./text # 导出html并放到生成的aaa目录下

    如果是要把html生成为pdf

    使用wkhtmltopdf是一个不错的选择,官方地址:https://wkhtmltopdf.org/

    wkhtmltopdf http://localhost/aaaa.html $HOME/doc_pdf/check.pdf

    其他

    imagemagick安装好后,可能会有以下环境变量设置的提示:

    ==> glib

    Bash completion has been installed to:

    /usr/local/etc/bash_completion.d

    ==> docbook

    To use the DocBook package in your XML toolchain,

    you need to add the following to your ~/.bashrc:

    export XML_CATALOG_FILES="/usr/local/etc/xml/catalog"

    ==> gnu-getopt

    gnu-getopt is keg-only, which means it was not symlinked into /usr/local,

    because macOS already provides this software and installing another version in

    parallel can cause all kinds of trouble.

    If you need to have gnu-getopt first in your PATH run:

    echo 'export PATH="/usr/local/opt/gnu-getopt/bin:$PATH"' >> ~/.zshrc

    Bash completion has been installed to:

    /usr/local/opt/gnu-getopt/etc/bash_completion.d

    ==> libtool

    In order to prevent conflicts with Apple's own libtool we have prepended a "g"

    so, you have instead: glibtool and glibtoolize.

    ==> guile

    Guile libraries can now be installed here:

    Source files: /usr/local/share/guile/site/3.0

    Compiled files: /usr/local/lib/guile/3.0/site-ccache

    Extensions: /usr/local/lib/guile/3.0/extensions

    Add the following to your .bashrc or equivalent:

    export GUILE_LOAD_PATH="/usr/local/share/guile/site/3.0"

    export GUILE_LOAD_COMPILED_PATH="/usr/local/lib/guile/3.0/site-ccache"

    export GUILE_SYSTEM_EXTENSIONS_PATH="/usr/local/lib/guile/3.0/extensions"

    ==> unbound

    To have launchd start unbound now and restart at startup:

    sudo brew services start unbound

    ==> gnutls

    If you are going to use the Guile bindings you will need to add the following

    to your .bashrc or equivalent in order for Guile to find the TLS certificates

    database:

    export GUILE_TLS_CERTIFICATE_DIRECTORY=/usr/local/etc/gnutls/

    ==> icu4c

    icu4c is keg-only, which means it was not symlinked into /usr/local,

    because macOS provides libicucore.dylib (but nothing else).

    If you need to have icu4c first in your PATH run:

    echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.zshrc

    echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.zshrc

    For compilers to find icu4c you may need to set:

    export LDFLAGS="-L/usr/local/opt/icu4c/lib"

    export CPPFLAGS="-I/usr/local/opt/icu4c/include"

    For pkg-config to find icu4c you may need to set:

    export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"

    展开全文
  • 摘要:这篇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...
  • /** * 将图片合并转为PDF;需要用到iTextpdf包, * * @author 浴缸 * */ public class PrintToPdfUtil { /** * * @param imageFolderPath * 图片文件夹地址 * @param pdfPath * PDF文件保存地址 * */ public ...
  • /** * 生成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 ...
  • (例)Java生成PDF图片 iTextimport java.io.ByteArrayOutputStream;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet....
  • 当你遇到需要把图片合并成一个pdf文件时,你需要怎么做?可能有些朋友会说下载一个pdf格式转换工具,其实不必这么麻烦,你只要把文件上传到在线迅捷pdf转换器,就可以一站式帮你搞定pdf文件的格式转换以及一些...
  • 我必须使用许多(在运行时定义)列生成PDF报告.当用户选择要显示的许多字段时,这些报告可能水平跨越多个页面.我正在使用DynamicJasper,并且当所有列都适合一个页面时,可以成功生成动态报告.如果没有,则会裁剪报告,只...
  • 生成pdf的方式有多种,前端后端都可生成,各有优缺点,本文主要讲解前端生成pdf的方式,并解决了图片不能绘制的问题。前端生成,使用 html2canvas进行绘制。该方式操作简单,浏览器端即可完成,不会对服务器造成压力...
  • 工作中我们经常需要将多个图片批量转换成PDF文件,这样能更好的保存和传输,那么如何快速的实现这一操作呢?小编在以前会采用word另存为PDF的方法,就是将所有图片复制粘贴到word文档中,然后另存文件的时候选择pdf...
  • Android生成pdf

    2021-06-05 08:50:14
    本文使用Android原生的PdfDocument来实现把页面布局生成pdf,支持分页。最近项目中需要实现把页面内容生成pdf,并且是能够分页的功能,一开始百度各种资料,都能实现生成pdf,但是并不能分页,无奈只需查阅官方文档...
  • 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'); .
  • 最近遇到了需要把多个PDF文件合并成一个PDF文件、把PNG格式的图片合并生成一个新的PDF文件的需求。 解决办法是采用Fpdi类库来实现。 * composer命令安装:composer require setasign/fpdf * composer命令安装:...
  • PDF,则生成zip压缩包. 一 : 文件生成效果 二 : 引入所需maven依赖 项目采用springboot框架 <!-- PDF图片 --> <dependency> <groupId>org.icepdf.os</groupId> <artifactId&...
  • 由于无需Acrobat就能生成Adobe PDF文件,它可以帮助用户在系统没有连接打印机的情况下,将大部分支持打印的文档资料迅速转换成PDF文件,甚至网页也可以转换为PDF。1、我们在谷歌浏览器中,打开需要保存内容到PDF文件...
  • nodejs生成pdf文件

    2021-10-08 17:24:59
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kRxh9Tvd-1633685073551)(/article/img/AI21bk10pz08.jpg “奋斗”)] 加油奥利给冲起来(别想歪了) 文章目录思路方法一安装举例方法二安装...
  • java批量生成pdf

    2021-02-07 11:49:50
    生成pdf 到年底了,公司是不是要求开始生成大量的pdf支持预览,下载,批量生成,烧脑的想法难为烧脑的人!!! 一:实现pdf预览 ...java 生成pdf的方式有很itext,freeemark,无奈需求需要按照不同pdf模版生产pdf, ...
  • //每一条数据代表一个pdf表格Listlist = new ArrayList();try {PdfStamper sd = null;//记录行 !我的业务需求int NO = 1;//页码 !我的 业务需求int page = 1;//不确定数据有多少,所以要无限循环while (true) {...
  • 在日常工作中我们可能需要将不同的PDF或图像合并为一个PDF上,这种情况并不少见。这时候我们需要学习使用一非常强大的命令行工具ImageMagick。通过apt命令下载安装Image...
  • public static void partitionPdfFile(String pdfFile,String newFile, int from, int end) {Document document = null;PdfCopy copy = null;try {PdfReader reader = new PdfReader(pdfFile);int n = reader.getNum...
  • 1. 开源框架支持iText,生成PDF文档,还支持将XML、Html文件转化为PDF文件;Apache PDFBox,生成、合并PDF文档;docx4j,生成docx、pptx、xlsx文档,支持转换为PDF格式。比较:iText开源协议为AGPL,而其他两...
  • java 中实现HTML 生成pdf

    2021-02-27 14:50:44
    JAVA 中生成pdf 的方法很,iText是一个生成PDF文档的开源Java库。但是用iText生成pdf,有时候很难控制页面的样式。听说flying-saucer 可以对样式进行简单的支持。由于项目需要,用flying-saucer 体验 了一把,感觉...
  • 简介本文使用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 ...
  • 在网上搜索“PHP生成PDF”,方法有很种,下面这三种是网上提到最多的:■PDFLib:这是一PHP扩展库,需要服务器空间安装并开启他才行,对于租用空间的广大屌丝来说,这办法是行不通的。■TCPDF:TCPDF是一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 150,777
精华内容 60,310
关键字:

多个图片生成pdf