} } }

    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 forint 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 }



    所有随风而逝的都属于昨天的,所有历经风雨留下来的才是面向未来的。—— 玛格丽特·米切尔 《飘》
    分享到: