-
Andorid 实现转成pdf的办法
添加时间:2013-5-9 点击量:用java说话写的转换成pdf
首要介绍了三种紧缩办法 保存下来 今后进修
参考http://download.csdn.net/download/u010118528/5212196
1 package com.word;
2
3 import 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)
13 public class PhotoVerPdf {
14
15 public void t()
16 {
17 //创建一个文档对象
18 Document doc = new Document();
19 try {
20 //定义输出文件的地位
21 PdfWriter.getInstance(doc, new FileOutputStream(/sdcard/myImage/test.pdf));
22 //开启文档
23 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);
27 //向文档中参加
28 for(int i=1;i<32;i++)
29 {
30 //取得~~~格局:
31 Image jpg1 = Image.getInstance(/sdcard/myImage/+i+.jpg);
32 //本来的的路径
33 //获得的高度
34 float heigth=jpg1.getHeight();
35 float width=jpg1.getWidth();
36 System.out.println(heigth+i+----+heigth);
37 System.out.println(width+i+-----+width);
38 //公道紧缩,h>w,按w紧缩,不然按w紧缩
39 //int percent=getPercent(heigth, width);
40 //同一遵守宽度紧缩
41 int percent=getPercent2(heigth, width);
42 //设置居中显示
43 jpg1.setAlignment(Image.MIDDLE);
44 //直接设置的大小~~~~~~~第三种解决规划,按固定比例紧缩
45 //jpg1.scaleAbsolute(210.0f, 297.0f);
46 //按百分比显示的比例
47 jpg1.scalePercent(percent);//默示是本来图像的比例;
48 //可设置图像高和宽的比例
49 //jpg1.scalePercent(50, 100);
50 doc.add(jpg1);
51 }
52 //封闭文档并开释资料
53 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 // /
69 //
70 // 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/h100;
77 // }
78 // else
79 // {
80 // p2=210/w100;
81 // }
82 // p=Math.round(p2);
83 // return p;
84 // }
85 /
86 第二种解决规划,同一遵守宽度紧缩
87 如许来的结果是,所有的宽度是相等的,自我认为给客户的结果是好的
88 @param args
89 /
90 public int getPercent2(float h,float w)
91 {
92 int p=0;
93 float p2=0.0f;
94 p2=530/w100;
95 p=Math.round(p2);
96 return p;
97 }
98 // /
99 // 第三种解决规划,就是直接紧缩,不安像素比例,全部紧缩到固定值,如210297
100 //
101 // @param args
102 // /
103 // public static void main(String[] args) {
104 // PhotoVerPdf pt=new PhotoVerPdf();
105 // pt.t();
106 // }
107 }
所有随风而逝的都属于昨天的,所有历经风雨留下来的才是面向未来的。—— 玛格丽特·米切尔 《飘》