这东西搞得我头都大了,望各位高手指点。
说明:
(这个类运行环境 myeclipse6.6 jdk1.5 windows7)
需要jar包:(三个)
itextpdf-5.1.2.jar
bcprov-jdk15-146.jar
iTextAsian.jar
使用和生成的 pdf html 去 本人的资源列表下载
存在问题:生成的pdf 里面的table 只有border 没有内容,请教各位高手。(还有html格式转换为pdf后 不够细腻)
下面两个链接是我上传到csdn资源的链接附件。
待转换的html
http://download.csdn.net/detail/qq540061627/3594776
生成的pdf
http://download.csdn.net/detail/qq540061627/3594774
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.StringReader;
import java.util.List;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.html.simpleparser.HTMLWorker;
import com.itextpdf.text.html.simpleparser.StyleSheet;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter;
public class testPDF {
public static String path = System.getProperty("user.dir") + "/WebRoot/";
public static String outputFile = path + "fistdoc.pdf";
public static String outputFile2 = path + "fistdoc2.pdf";
public void test() throws DocumentException, IOException {
//-----加载 html 流 开始
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(path + "hetong2.html")));
String data=null;
StringBuffer b = new StringBuffer();
while ((data = br.readLine()) != null) {
System.out.println(data);
b.append(data);
}
br.close();
//----- 加载 html 流 结束
//-----输出 pdf 流 开始
OutputStream os = new FileOutputStream(outputFile2);
//-----输出 pdf 流 结束
Document doc = new Document();
//-----中文过滤 开始
BaseFont baseFontChinese = BaseFont.createFont("STSong-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font fontChinese = new Font(baseFontChinese, 12, Font.NORMAL);
//-----中文过滤 结束
//-----创建监听器
PdfWriter writer = PdfWriter.getInstance(doc, os);
//-----加权限 开始
writer.setPdfVersion(writer.PDF_VERSION_1_7);
int perssion = writer.ALLOW_PRINTING | writer.HideMenubar
| writer.HideToolbar | writer.HideWindowUI
| writer.ALLOW_FILL_IN;
writer.setEncryption(null, null, perssion,
writer.STANDARD_ENCRYPTION_40);
//-----加权限 结束
//----- html 流 加入document 开始
Paragraph context = new Paragraph();
StyleSheet ss = new StyleSheet();
List htmlList = HTMLWorker.parseToList(new StringReader(b.toString()),
ss);
for (int i = 0; i < htmlList.size(); i++) {
Element e = (Element) htmlList.get(i);
context.setFont(fontChinese);
context.add(e);
}
//----- html 流 加入document 结束
//----- 打开document
doc.open();
//加入html 流 动作
doc.add(context);
//----- 关闭document
doc.close();
}
public static void main(String[] args) throws DocumentException,
IOException {
testPDF f = new testPDF();
f.test();
}
}
分享到:
相关推荐
总之,使用iTextPDF库在Java中实现HTML到PDF的转换是一项实用的技能,但需要注意库对HTML和CSS的支持限制。根据实际需求,可能需要对HTML源码进行调整,或者考虑使用其他兼容性更强的库来实现更丰富的转换效果。
本教程将详细讲解如何使用Itext库实现PDF文件的下载,包括通过系统路径下载和通过浏览器下载两种方式。 首先,我们需要了解Itext的基本用法。Itext提供了一系列的API,可以方便地创建PDF文档的各个元素,如文本、...
这个“Java使用iText将html转pdf并下载demo”的主题将深入讲解如何使用iText库实现这一功能。 首先,我们需要理解iText的基本用法。iText库提供了多种API,可以用来创建PDF文档、添加文本、图像、表格等元素。在...
iText是一个强大的Java库,能够帮助开发者实现这样的转换,并且支持包含中文字符和图像的处理。本篇文章将详细介绍如何利用iText将HTML转换为PDF,并介绍所需的jar包以及相关知识点。 首先,我们需要准备两个关键的...
Java开发者经常使用Itext库来处理这种任务。Itext是一个强大的PDF处理库,它提供了多种功能,包括创建、修改和解析PDF文档。在这个场景中,我们将讨论如何利用Itext库在不修改源代码的情况下,实现HTML到PDF的转换,...
接下来,我们将编写Java代码来实现HTML到PDF的转换。`iText 7`的`HtmlConverter`类提供了便捷的方法。以下是一个简单的示例: ```java import com.itextpdf.kernel.pdf.PdfWriter; import ...
java使用iText导出PDF文本绝对定位(实现方法) iText是一个流行的Java类库,用于生成PDF文档。下面我们将探讨如何使用iText在Java中导出PDF文本,并实现绝对定位。 iText简介 iText是一个开源的Java类库,用于...
看到现在网上excel转pdf的代码很少,在csdn上找到一个还不能用,只能做简单的转换,只好自己写了一个,代码是一个maven工程,用eclipse创建,支持单元格合并等复杂的excel,同时能同步单元格样式到pdf中。...
iText是一个著名的Java库,专门用于处理PDF文档,而其5.4.2版本引入了对HTML到PDF转换的支持,特别强调了对中文字符的完美呈现,解决了以往许多转换工具在处理中文时出现的问题。 首先,我们来了解iText 5.4.2的...
在Java编程环境中,我们可以利用ITEXT和PDFBOX这两个库来实现这个功能。这两个库都是处理PDF的强大工具,各有其特点和优势。 首先,ITEXT是一个用于创建、修改和阅读PDF文档的Java库。它可以用于生成PDF报告、填充...
java 实现word 转PDF (采用第三方技术 IText、Poi、Jsoup)iText-2.0.8.jar core-renderer.jar iTextAsian.jar iTextAsianCmaps.jar jsoup-1.8.1.jar
本篇将深入讲解如何使用Java和iText库将多页的TIFF(Tagged Image File Format)文件转换为多页的PDF(Portable Document Format)文件。首先,让我们了解下相关的知识点。 **1. TIFF 文件格式** TIFF是一种灵活的...
iText7 用于html转换pdf核心包-html2pdf-1.0.1.jar。。。。
9. 运行demo:提供的`itext图片转pdf的demo`可能是一个完整的Java程序,包含了上述步骤的实现。运行这个示例,可以直观地看到如何使用`iText`库生成高清PDF。 在实际应用中,可能还需要考虑其他因素,如图片的原始...
这里我们将深入探讨如何使用Java和iTextPDF库来实现这一功能。 iTextPDF是一个开源的Java库,专门用于创建、修改和处理PDF文档。它提供了丰富的API,使得开发者能够方便地进行PDF操作。在本例中,我们关注的是如何...
本篇文章将详细探讨如何使用Apache POI和iText这两个Java库来实现这一功能。 Apache POI是一个开源项目,它提供了读取和写入Microsoft Office格式文件的能力,包括Excel(.xlsx和.xls)。而iText则是一个用于创建和...
TestForExcel2PDF测试类可能包含这样的逻辑:首先,加载Excel文件,然后使用itextpdf的API将工作表的内容转换为PDF页面,最后保存为PDF文件。这个过程中可能涉及到对Excel表格的样式、字体、颜色等元素的保持,以...
在Java中使用iTextPDF和iText-Asian添加中文水印,你需要完成以下几个步骤: 1. **引入依赖**:在你的项目中,你需要添加iTextPDF和iText-Asian的依赖。如果是Maven项目,可以在pom.xml文件中添加如下依赖: ```xml...
根据提供的文件信息,我们可以深入探讨如何使用iText库在Java环境中进行PDF文件的合并与拆分操作。以下是对这些操作的详细解释。 ### iText简介 iText 是一个开源库,用于生成、修改以及处理PDF文件。它支持多种...