首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

txt转化作PDF

2013-09-28 
txt转化为PDF一、采用Txt/Word/Excel/PPTPDF(OpenOffice+JodConverter)SWF(pdf2swf)FlexPaper浏览方

txt转化为PDF
一、采用Txt/Word/Excel/PPT=>PDF(OpenOffice+JodConverter)=>SWF(pdf2swf)=>FlexPaper浏览方式
二、将txt转化为PDF,需要用到iText.jar包

package com.converter;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import com.lowagie.text.Document;import com.lowagie.text.DocumentException;import com.lowagie.text.Element;import com.lowagie.text.Font;import com.lowagie.text.PageSize;import com.lowagie.text.Paragraph;import com.lowagie.text.pdf.BaseFont;import com.lowagie.text.pdf.PdfWriter;/** * 将从.txt中读到的内容写到pdf中。 * */public class TXT2PDF {private final static String READFILEPATH = "C:\\wroking\\1.txt"; // txt文件private final static String WRITEFILEPATH = "C:\\wroking\\1.pdf"; // 生成的pdf文件public static void main(String[] args) throws DocumentException,IOException {Document document = new Document(PageSize.A4, 80, 80, 60, 30);PdfWriter.getInstance(document, new FileOutputStream(WRITEFILEPATH));document.open();String a = BaseFont.IDENTITY_H;BaseFont bfChinese = BaseFont.createFont("C:/WINDOWS/Fonts/SIMYOU.TTF", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);//"UniGB-UCS2-H"Font FontChinese = new Font(bfChinese, 18, Font.NORMAL);Paragraph t = new Paragraph("oracle手册", FontChinese); // 起一个别名。t.setAlignment(Element.ALIGN_CENTER);t.setLeading(30.0f);document.add(t);FontChinese = new Font(bfChinese, 11, Font.NORMAL);BufferedReader read = null;InputStream in=null;InputStream inn=null;try {in = new FileInputStream(READFILEPATH);byte[] b = new byte[4];in.read(b);in.close();inn  = new FileInputStream(READFILEPATH);String code = codeType(b);read = new BufferedReader(new InputStreamReader(inn, code));// 编码转换String line = null;while ((line = read.readLine()) != null) {System.out.println(line);t = new Paragraph(line,FontChinese);t.setAlignment(Element.ALIGN_LEFT);t.setLeading(20.0f);document.add(t);}} catch (Exception e) {System.out.println("目标文件不存,或者不可读!");e.printStackTrace();} finally {try {inn.close();read.close();document.close();} catch (IOException e) {e.printStackTrace();}}System.out.println("============执行成功!===========");}/** * byte[] head:表示txt文件的字节数组 */public static String codeType(byte[] head) {byte[] codehead = new byte[4];// 截取数组System.arraycopy(head, 0, codehead, 0, 4);String code = "";if (head[0] == -1 && head[1] == -2) {code = "UTF-16";} else if (head[0] == -2 && head[1] == -1) {code = "Unicode";} else if (head[0] == -17 && head[1] == -69 && head[2] == -65)code = "UTF-8";else {code = "GBK";}return code;}}

热点排行