zoukankan      html  css  js  c++  java
  • Java实现图片转PDF的方法(2)

      使用开源的ITEXT实现图片转为PDF,效果是一张图片占PDF的一页,首先引入ITEXT的依赖:

    <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>itextpdf</artifactId>
                <version>5.5.13</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.lowagie/itext -->
            <dependency>
                <groupId>com.lowagie</groupId>
                <artifactId>itext</artifactId>
                <version>4.2.1</version>
            </dependency>

      代码实现如下:

    import com.itextpdf.text.Document;
    import com.itextpdf.text.Image;
    import com.itextpdf.text.Rectangle;
    import com.itextpdf.text.pdf.PdfWriter;
    
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class Convert2Pdf {
        public static void convert(String source, String target) {
            Document document = new Document();
            //设置文档页边距
            document.setMargins(0,0,0,0);
            FileOutputStream fos = null;
            try {
                fos = new FileOutputStream(target);
                PdfWriter.getInstance(document, fos);
                //打开文档
                document.open();
                //获取图片的宽高
                Image image = Image.getInstance(source);
                float imageHeight=image.getScaledHeight();
                float imageWidth=image.getScaledWidth();
                //设置页面宽高与图片一致
                Rectangle rectangle = new Rectangle(imageWidth, imageHeight);
                document.setPageSize(rectangle);
                //图片居中
                image.setAlignment(Image.ALIGN_CENTER);
                //新建一页添加图片
                document.newPage();
                document.add(image);
            } catch (Exception ioe) {
                System.out.println(ioe.getMessage());
            } finally {
                //关闭文档
                document.close();
                try {
                    fos.flush();
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        public static void main(String[] args) {
            String source = "E:/SETUP/1.tif";
            String target = "E:/SETUP/1.pdf";
            convert(source, target);
        }
    }
  • 相关阅读:
    1 step / 2 step STO
    关于Shipping
    Retail Article Master Data 学习 (四) Assortment
    SAP Basis 性能分析 记忆点
    从数据库中读取二进制数据,并显示图片
    [转]c#金山词霸组件法
    C# 处理INI文个类 INIManager
    C#实现通过HttpWebRequest发送POST请求实现网站自动登陆
    XPath语法参考
    关于IE6和IE7关闭窗口时提示和不提示以及上传图片前的本地预览解决办法
  • 原文地址:https://www.cnblogs.com/zhexuejun/p/13257434.html
Copyright © 2011-2022 走看看