Andorid 实现图片转成pdf的方法

用java语言写的图片转换成pdf

主要介绍了三种图片压缩方法 保存下来 以后学习

参考

1 package com.word; java.io.FileNotFoundException; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import android.annotation.SuppressLint; 7 import com.itextpdf.text.Document; 8 import com.itextpdf.text.DocumentException; 9 import com.itextpdf.text.Image; 10 import com.itextpdf.text.pdf.PdfWriter; 11 12 @SuppressLint(“SdCardPath”) PhotoVerPdf { t() 16 {Document doc = new Document(); 19try {PdfWriter.getInstance(doc, new FileOutputStream(“/sdcard/myImage/test.pdf”));doc.open(); 24//设定字体 为的是支持中文 25//BaseFont bfChinese = BaseFont.createFont(“STSong-Light”, “UniGB-UCS2-H”, BaseFont.NOT_EMBEDDED); 26// Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);(int i=1;i<32;i++) 29 {Image jpg1 = Image.getInstance(“/sdcard/myImage/”+i+”.jpg”); 32//原来的图片的路径heigth=jpg1.getHeight(); 35float width=jpg1.getWidth(); 36System.out.println(“heigth”+i+”—-“+heigth); 37System.out.println(“width”+i+”—–“+width); 38//合理压缩,h>w,按w压缩,否则按w压缩 39//int percent=getPercent(heigth, width);percent=getPercent2(heigth, width);jpg1.setAlignment(Image.MIDDLE); 44//直接设置图片的大小~~~~~~~第三种解决方案,按固定比例压缩 45//jpg1.scaleAbsolute(210.0f, 297.0f);jpg1.scalePercent(percent);//表示是原来图像的比例; 48//可设置图像高和宽的比例doc.add(jpg1); 51 }doc.close(); 54} catch (FileNotFoundException e) { 55 e.printStackTrace(); 56} catch (DocumentException e) { 57 e.printStackTrace(); 58} catch (IOException e) { 59 e.printStackTrace(); 60 } 61 } 62 // /** 63 //* 第一种解决方案 64 //* 在不改变图片形状的同时,判断,如果h>w,则按h压缩,否则在w>h或w=h的情况下,香港服务器租用,按宽度压缩 65 //* @param h 66 //* @param w 67 //* @return 68 //*/ public int getPercent(float h,float w) 71 // { 72 //int p=0; 73 //float p2=0.0f; 74 //if(h>w) 75 //{ 76 //p2=297/h*100; 77 //} 78 //else 79 //{ 80 //p2=210/w*100; 81 //} 82 //p=Math.round(p2); 83 //return p;* 第二种解决方案,美国服务器,统一按照宽度压缩 87 * 这样来的效果是,所有图片的宽度是相等的,自我认为给客户的效果是最好的 argsgetPercent2(float h,float w) 91 { 92int p=0; 93float p2=0.0f; 94p2=530/w*100; 95p=Math.round(p2); 96return p; 97 } 98 // /** 99 //* 第三种解决方案,就是直接压缩,不安像素比例,全部压缩到固定值,如210*297100 //* 101 //* @param args102 //*/103 // public static void main(String[] args) {104 //PhotoVerPdf pt=new PhotoVerPdf();105 //pt.t();},香港虚拟主机忘掉失败,不过要牢记失败中的教训。

Andorid 实现图片转成pdf的方法

相关文章:

你感兴趣的文章:

标签云: