前些日子搞 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是一款广泛使用的Java库,专门...通过阅读“iText创建pdf中文文档.doc”提供的详细资源,你可以深入了解如何利用iText的特性和方法来创建自定义的PDF文档。学习和掌握iText,将使你在处理PDF文档时更加得心应手。
在实际开发中,使用iText创建PDF时,首先需要导入iText库,然后创建`Document`对象来表示PDF文档,接着使用`PdfWriter`将`Document`对象与输出流关联。通过`Paragraph`、`Font`、`Chunk`等类添加内容,可以控制文本...
iText 是一个强大的Java库,专门用于创建和修改PDF文档。在PDF文档中,目录(或书签)是用户友好的导航工具,可以帮助读者快速跳转到特定章节或页面。本篇文章将深入探讨如何使用iText来生成PDF的目录。 首先,理解...
iText是一个强大的开源库,它允许开发者在Java和.NET环境中创建、编辑和处理PDF文档。在这个场景中,我们将探讨如何利用iText在Android应用中生成PDF以及读取PDF的内容。 首先,我们需要在Android项目中引入iText库...
iText创建PDF时,需要依赖字体来正确地呈现文本。默认情况下,iText只包含有限的几种基本字体,这些字体可能不包含中文字符集。因此,当尝试输出中文时,如果没有正确的字体资源,就会出现乱码或不显示的情况。 ...
在IT行业中,iText是一个广泛使用的Java和.NET库,用于创建、编辑和处理PDF文档。在最新的版本iText 7中,它提供了丰富的功能,包括将PDF文档转换为图像。这个话题涉及到PDF处理和图像转换两个核心领域。下面将详细...
以下是一个简单的示例,演示如何使用IText创建一个包含文本的PDF文档: ```java import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import ...
Itext是一个开源Java库,专为处理PDF文档设计,提供了一系列API用于创建、编辑和阅读PDF文件。 **Itext库介绍** Itext是PDF处理的强力工具,它允许开发者进行各种操作,包括添加文本、图像、表格,以及处理PDF的...
1. **创建PDF文档**:使用`Document`类作为PDF文档的容器,通过`Document.open()`方法开启文档,然后使用`Paragraph`、`Chunk`等对象添加文本内容,最后调用`Document.close()`关闭文档。 2. **字体管理**:iText...
要使用ITEXT创建PDF报表,首先需要引入相应的依赖。如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.itextpdf</groupId> <artifactId>itextpdf <version>5.x.x ``` 这里的...
在 Java 开发中,iText 提供了丰富的 API,使得开发者可以方便地在代码中创建 PDF 文件、添加文本、图像、表格、链接等元素,甚至进行数字签名和表单处理。在本项目中,我们看到使用了 iText 7.0.2 版本,这是 iText...
itext对pdf进行编辑.使用Adobe对pdf创建表单,itext对表单填充,下拉选,单选,文本框.复选框.itext对pdf进行编辑.使用Adobe对pdf创建表单,itext对表单填充,下拉选,单选,文本框.复选框
《iTextPDF 5.5.13:创建PDF文件的高效工具》 iTextPDF是一款功能强大的Java库,主要用于创建、编辑以及处理PDF文档。版本5.5.13是其历史版本之一,提供了丰富的API和功能,使得开发者能够方便地在Android平台上...
`Table`类用于创建PDF中的表格。示例中创建了一个2行4列的表格,并添加了单元格。`addCell()`方法用于添加单元格,可以通过参数调整单元格的样式和位置。 6. **插入图像**: 示例中使用`Jpeg`类添加了一张图片。...
以下是一个简单的示例,展示如何使用ITEXT创建PDF文件: ```java import com.itextpdf.text.Document; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; import java.io....
- 创建PDF文档:使用`Document`类初始化一个新的PDF文档对象,并设定页面大小、边距等属性。 - 添加表格:使用`PdfPTable`类创建表格,指定列数和宽度,然后添加单元格数据,可以使用` PdfPCell`类表示每个单元格...
有了这些数据,我们可以使用iText创建PDF文档并写入内容: ```java import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import ...
在实际使用中,你需要将这些Jar包添加到你的项目类路径中,然后就可以通过Itext提供的丰富API来创建PDF了。例如,你可以创建一个新的PDF文档,添加标题、段落,插入图片,设置字体和颜色,甚至添加交互式表单。Itext...
1. **初始化PDFDocument对象**:这是创建PDF文档的第一步,我们需要实例化一个PDFDocument对象,并指定文件名或输出流。 ```java PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(...