itext实现转换pdf

代码:

  利用itext实现将txt转换为pdf

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter;

public class TxtToPDF {

	// modified by xujingyu 2014.03.25
	private static Log log = LogFactory.getLog(TxtToPDF.class);

	public static void txtToPdf(String filePath, String pdfPath) throws DocumentException, IOException {
		log.debug("TxtToPDF.txtToPdf begin");

		File inputFile = new File(filePath);
		// 如果目标路径不存在, 则新建该路径
		File outputFile = new File(pdfPath);
		if (!outputFile.getParentFile().exists()) {
			outputFile.getParentFile().mkdirs();
		}
		// 判断pdf存放路径是否存在,不存在就新建
		/*File file = new File(pdfDir);
		if (!file.exists() || !file.isDirectory()) {
			file.mkdirs();
		}*/
		// 创建一个Document对象
	    Document document = new Document();
	    // 生成pdf 的文档
	    PdfWriter.getInstance(document, new FileOutputStream(pdfPath));
	    /**  新建一个字体,iText的方法
	     *  STSongStd-Light 是字体,在iTextAsian.jar 中以property为后缀
	     *  UniGB-UCS2-H   是编码,在iTextAsian.jar 中以cmap为后缀
	     *  H 代表文字版式是 横版, 相应的 V 代表 竖版
	     */
	    BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
	    // 设置字体
	    Font fontChinese = new Font(bfChinese, 10, Font.NORMAL);
	    // 打开文档,将要写入内容
	    document.open();
	    // 读取txt内容
	    String content = readTxt(filePath);

	    // 插入一个段落
	    Paragraph par = new Paragraph(content,fontChinese);
	    document.add(par);

	    // 关闭打开的文档
	    document.close();
	    log.debug("TxtToPDF.txtToPdf end");
	 }

	 /**
	  * method name: readTxt
	  * @param path 上传文件后文件存放在服务器上完整路径,包含文件名称
	  * @return String 返回该文件的文本内容
	 * @throws IOException
	  * @throws Exception
	  */
	 public static String readTxt(String path) throws IOException {
		 File file = new File(path);
		 //判断文件是否存在或者是否是文件
		 if(!file.exists() || !file.isFile()){
			 throw new IOException("文件不存在或者不是文件");
		 }
		 String code = codeString(file);
		 //String code2 = CharacterEnding.getFileCharacterEnding(file);
	     StringBuffer content = new StringBuffer("");// 记录读取的文档内容
	     FileInputStream inputFile = new FileInputStream(file);
	     byte a[] = new byte[inputFile.available()];
	     if(inputFile.read(a) != -1){
	    	 inputFile.read(a);
	    	 content.append(new String(a, code) + "\n");
	     }
	     inputFile.close();
	     return content.toString().trim();
	 }

	 /**
	 * Method name: codeString <BR>
	 * Description: 获取文档内容编码 <BR>
	 * Remark: <BR>
	 * @param file
	 * @return
	 * @throws IOException
	 * @throws Exception  String<BR>
	 */
	public static String codeString(File file) throws IOException {
		 BufferedInputStream bin = new BufferedInputStream(new FileInputStream(file));
		 int p = (bin.read() << 8) + bin.read();
		 String code = null;
		 switch (p) {
		   case 0xefbb:
		   code = "UTF-8";
		   break;
		   case 0xfffe:
			   code = "Unicode";
			   break;
		   case 0xfeff:
			   code = "UTF-16BE";
			   break;
		   default:
			   code = "GBK";
		 }
		 	return code;
		 }
}
时间: 2024-10-10 18:12:17

itext实现转换pdf的相关文章

使用 flying-saucer-pdf 实现html转换pdf

ps:之前研究了使用itext html转PDF 对中文和css的支持不很好,果然Google了一把,发现flying-saucer-pdf这个效果好,研究了一下果然行,运用到项目中基本上能满足需求. 1.pom.xml 文件  1 1 <dependency> 2 2 <groupId>com.itextpdf</groupId> 3 3 <artifactId>itextpdf</artifactId> 4 4 <version>

一种CAD转换PDF比较简单的方式

CAD图纸文件不能够在的电脑上直接打开查看,我们需要下载安装CAD看图软件,因此一般情况下,CAD制图员都会将CAD直接转换成PDF文件,在发给客户,这样使用PDF阅读器.WPS或是office文档就可以直接查看了.那么CAD转换PDF怎么样比较简单呢? 步骤一,打开任意浏览器,输入迅捷CAD编辑器,找到该软件的官网,点击进入. 步骤二,大家可以在软件官网主界面点击"立即下载"将迅捷CAD编辑器将软件按照步骤下载安装到电脑桌面上. 步骤三,请打开迅捷CAD编辑器,进入软件操作界面,这时

CAD转换PDF简单几步就能够搞定

CAD制图是一个复杂的过程,里面凝聚了建筑工程师的心血.按照自己的想法完成CAD制图工作后,很多人选择将CAD图纸转换成PDF格式,这样更加便于预览.可CAD图纸怎么转换成PDF格式呢?本篇就教大家简单几步搞定CAD转换PDF. 请下载安装迅捷CAD编辑器,软件安装完成后,请直接打开运行,进入软件操作界面. 将CAD转换成PDF有两种方法,可以单个文件转换,也可以批量转换. 1.如果您刚刚绘制完成CAD文件,或是打开了一个CAD文件编辑后,想要直接将CAD保存成PDF文件,那么可以使用以下方法:

免费excel转换pdf在线转换的方法

工作中我们常常会遇到意想不到的事情,对于文本格式转换来说,我们不仅仅需要掌握word转换成pdf技巧,还需要了解excel转换成pdf方法.否则当我们遇到文件需要转换时,就会一愁莫展,无从下手.今天就简单向大家说下excel转换pdf在线转换的方法. Excel转换成pdf在很多的转换方法下转换出来的pdf文件常常乱码一篇,为了更好的恢复excel表格的原貌,我们需要的是一款高质量的转换工具.在这一点上,迅捷pdf转换器在线是国内首家采用新一代的pdf超线程解析核心技术,和独家研发的文件内容解析

使用Spire.Office自制一个进行批量格式转换(Pdf转换为Word)的工具

使用Spire.Office自制一个进行批量格式转换(Pdf转换为Word)的工具 本文文末提供一个可将PDF转换为Word的小工具供下载. +BIT祝威+悄悄在此留下版了个权的信说: Spire.Office 我一直想找一个工具能够把我收集的一些PDF资料转换为Word版.最近偶然发现一个超级强大的工具Spire.Office for .NET可以做到这一点. 而且Spire.Office提供C#.VB的DLL供调用,还提供了丰富简洁的示例项目可供学习. 如下图所示,Spire.Office

ppt转换pdf免费软件

在日常生活工作中,经常需要将一些PPT演讲稿转换成PDF文档,而这些演讲文稿里面有的是带有图片的,如何将这类图文并茂的PPT演示文稿转换成PDF文档,供大家浏览,也不是没有可行的办法,选择 PPT转换成PDF转换器破解版,就轻易就解决我们眼前的难题了,今天小O我就来教大家如何将PPT转成PDF文件. 迅捷PPT转PDF转换器简易使用步骤: 一,勾选需要转换的目标文件格式:PPT转PDF; 二,添加需要转换的PPT文件; 三,最后只需要点击"开始转换"即可完成最终的文件转换功能. 我们很

SharePoint 2013 文档库中PPT转换PDF

原文:SharePoint 2013 文档库中PPT转换PDF 通过使用 PowerPoint Automation Services,可以从 PowerPoint 二进制文件格式 (.ppt) 和 PowerPoint Open XML 文件格式 (.pptx) 转换为其他格式.例如,您可能需要将一批 PowerPoint 97–2003 文件升级到 Open XML 演示文稿文件.您还可以在“编辑”菜单中创建自定义操作,以允许用户按需创建 PDF 版本的演示文稿. 一.效果演示: 1.新建一

SharePoint 2013 Word 转换PDF服务介绍及示例

原文:SharePoint 2013 Word 转换PDF服务介绍及示例 前言:在SharePoint使用过程中,经常会发现将文档进行格式转换的需求,之前,看到SharePoint 2013有将PPT转换PDF文档的服务,后来,才发现SharePoint 2010开始,就有将Word文档转换PDF的服务了,用起来还是不错的. 下面,我们就来看看这个服务,如何将一个Word文档库批量转换成PDF文件,或者,将单一Word文档转换为PDF文档. 一.             效果展示 新建测试Wor

ppt如何转换pdf格式

ppt如何转换pdf格式身为办公一族成员,工作中常常会用到Office办公系统来进行文字的录入.排版以及绘图等等,然,有时为了步让自己精心制作好的ppt文稿为他人窃取,大部分人更愿意将之转为pdf文档.,借用PDF特有的加密设置以保护知识产权.网上有可以完成这个任务的软件,但是要收费,效果也不好.经探索,小Q总结出了以下较为便捷(而且绝对免费)的转换方法,不需特别的软件,只需在线ppt转换成pdf转换器就可以得到效果很好的pptpdf文档. 第一步,访问在线迅捷ppt转换成pdf转换器,可直接在