前些日子搞 doc 转 PDF.头大.没什么进展.今天把PDF 看了一下.方法许多,选了这一种.
这些解决方案不完整.好烦.
package com.isw2.pdf.test;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Date;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.Paragraph;
import com.lowagie.text.html.simpleparser.HTMLWorker;
import com.lowagie.text.html.simpleparser.StyleSheet;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;
public class TestPDF {
public static void main(String[] args) {
// createPDFbyIText("good good study ,day day up!好好学习,天天向上!",
// "C:/test/test.pdf");
createPDFbyHTML("c:/test/good.html", "C:/test/test.pdf");
}
/**
* HTML 方式写入 PDF .(本人暂时不能解决中言乱码问题)
* @param htmlContent
* @param outPath
*/
public static void createPDFbyHTML(String htmlContent, String outPath) {
try {
StyleSheet st = new StyleSheet();
st.loadTagStyle("body", "leading", "16,0");
BaseFont bfTitle = BaseFont.createFont("STSong-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font titleFont = new Font(bfTitle, 18, Font.NORMAL);
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(outPath));
document.open();
ArrayList list = HTMLWorker.parseToList(
new FileReader(htmlContent), st);
for (Object object : list) {
document.add((Element) object);
}
document.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 写入 PDF 文件.
* @param content
* @param outPath
*/
public static void createPDFbyIText(String content, String outPath) {
try {
//字体
BaseFont bfTitle = BaseFont.createFont("STSong-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font titleFont = new Font(bfTitle, 18, Font.NORMAL);
OutputStream outputStream = new FileOutputStream(new File(outPath));
Document document = new Document();
PdfWriter.getInstance(document, outputStream);
document.open();
document.add(new Paragraph(content, titleFont));// 设置字体可解决中方问题
document.add(new Paragraph("\n 你一定可以."));// 中文无法正常显示
document.add(new Paragraph(new Date().toString()));
document.addAuthor("zhouxianglh");
document.addTitle("good study");
document.close();
outputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
今天也小郁闷,犯了两个错误.老大很生气.一个是用了过时的方法,第二个是代码晦涩.优秀是一种习惯.要好好加油呀.才刚刚开始.冯晶晶那也在搞这,搞的咋样了?在想.学习不能止步.好好加油!
分享到:
相关推荐
iText五部创建pdf,文档中详细讲解了创建的过程。资源很详细很详细!!
itext 生成pdf 目录,itext 生成pdf 目录,itext 生成pdf 目录
itext对pdf进行编辑.使用Adobe对pdf创建表单,itext对表单填充,下拉选,单选,文本框.复选框.itext对pdf进行编辑.使用Adobe对pdf创建表单,itext对表单填充,下拉选,单选,文本框.复选框
iText创建表格pdf的教程,使用pdfptable创建表单!
iText是著名的开放源码的站点sourceforge的一个项目,它是一个...如果PDF是标记的且包含一个结构树,就可以借助于iText将PDF文档转换成XML文档(这往往取决于PDF文档是如何创建的)。另外还可以从页面中提取纯文本。
java中使用iText创建PDF格式文档的基本示例。 第一个 PDF 生成具有不同属性的基本 PDF,如标题、副标题、列表、表格和不同类型的字体。 PositionPDF 只是举例说明了文本对齐的处理,无论是右对齐、左对齐还是居中...
此文档主要讲述了使用Java组件iText来生成PDF,操作PDF
包含 itext-asian-5.2.0.jar itextpdf-5.5.5.jar
Java使用iText PDF插件导出PDF文档时,需引入中文字体文件,并创建不同大小风格的中文字体
创建XML文档,将HTML,Web表单,CSS或数据库中的文档转换为PDF,并使其符合全球标准。
利用iText五步创建一个PDF文件:helloword。 第一步,创建一个 iTextSharp.text.Document对象的实例: Document document = new Document(); 第二步,为该Document创建一个Writer实例: PdfWriter.getInstance...
因为项目需要用到pdf模板生成pdf,其中模板中有图片,找了好久没有资料,无奈之下翻看api和源码,给大家分享下
itext5生成PDF(含水印文字及图片)的源代码,操作说明详细,代码完整可用。
一、用JAVA完成了PDF读写(IText的应用) 加密PDF文件,引用到的JAR包是 bcprov-jdk15on-147 生成PDF文件,引用到的JAR包是itext5.5.1 项目文件为PDFText.java 主要实现功能: 1、创建一个PDF文件:HelloWorld.pdf,...
相关教程 iText 简介 iText创建文档简介 iText入门实例 IText使用PDF模板输出报表的实践 我和iText第一次亲密接触 相关JAR iText-2.1.7.jar(核心) iTextAsian.jar(中文支持) iText-rups-2.1.7.jar iText-rtf-...
iTextpdf 通过本jar包,android 可以创建便捷PDF。 操作已经修改PDF模板显示内容等。 不用积分,大家免费下载。
1.用户导入word生成pdf -首先导入word的时候读取word里面的全部内容。调用(ReadAndWriteDoc)然后将内容 传送到createPdf里面生成pdf。导入的时候读取采用poi /生成的时候采用的是...4.将html转换成pdf(itext)
看到现在网上excel转pdf的代码很少,在csdn上找到一个还不能用,只能做简单的转换,只好自己写了一个,代码是一个maven工程,用eclipse创建,支持单元格合并等复杂的excel,同时能同步单元格样式到pdf中。...
2.隔行换色的事件需要自己写一个java类,里面去定义背景颜色和长宽高,实质就是在pdf表格生成之后,去读取当页page内的所有行和列,并创建一个矩形,加入背景,覆盖到cell内,达到背景有颜色的效果。 隔行换色的...