`
zcs540061627
  • 浏览: 1436 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

IText 自html tag 转为 pdf 用java 实现,实例完整。拿出来共享,谢谢。

    博客分类:
  • java
阅读更多
这东西搞得我头都大了,望各位高手指点。



说明:

(这个类运行环境 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();

	}

}
3
2
分享到:
评论

相关推荐

    JAVA使用itextpdf实现HTML转PDF

    总之,使用iTextPDF库在Java中实现HTML到PDF的转换是一项实用的技能,但需要注意库对HTML和CSS的支持限制。根据实际需求,可能需要对HTML源码进行调整,或者考虑使用其他兼容性更强的库来实现更丰富的转换效果。

    java使用itext实现pdf文件下载

    本教程将详细讲解如何使用Itext库实现PDF文件的下载,包括通过系统路径下载和通过浏览器下载两种方式。 首先,我们需要了解Itext的基本用法。Itext提供了一系列的API,可以方便地创建PDF文档的各个元素,如文本、...

    Java 使用itext将html转pdf并下载demo

    这个“Java使用iText将html转pdf并下载demo”的主题将深入讲解如何使用iText库实现这一功能。 首先,我们需要理解iText的基本用法。iText库提供了多种API,可以用来创建PDF文档、添加文本、图像、表格等元素。在...

    利用itext将html转为pdf带图片所需jar

    iText是一个强大的Java库,能够帮助开发者实现这样的转换,并且支持包含中文字符和图像的处理。本篇文章将详细介绍如何利用iText将HTML转换为PDF,并介绍所需的jar包以及相关知识点。 首先,我们需要准备两个关键的...

    利用Itext实现html转pdf

    Java开发者经常使用Itext库来处理这种任务。Itext是一个强大的PDF处理库,它提供了多种功能,包括创建、修改和解析PDF文档。在这个场景中,我们将讨论如何利用Itext库在不修改源代码的情况下,实现HTML到PDF的转换,...

    itext7 html转换为pdf

    接下来,我们将编写Java代码来实现HTML到PDF的转换。`iText 7`的`HtmlConverter`类提供了便捷的方法。以下是一个简单的示例: ```java import com.itextpdf.kernel.pdf.PdfWriter; import ...

    java使用itext导出PDF文本绝对定位(实现方法)

    java使用iText导出PDF文本绝对定位(实现方法) iText是一个流行的Java类库,用于生成PDF文档。下面我们将探讨如何使用iText在Java中导出PDF文本,并实现绝对定位。 iText简介 iText是一个开源的Java类库,用于...

    使用poi+itext将excel转为pdf

    看到现在网上excel转pdf的代码很少,在csdn上找到一个还不能用,只能做简单的转换,只好自己写了一个,代码是一个maven工程,用eclipse创建,支持单元格合并等复杂的excel,同时能同步单元格样式到pdf中。...

    itext5.4.2 html2pdf

    iText是一个著名的Java库,专门用于处理PDF文档,而其5.4.2版本引入了对HTML到PDF转换的支持,特别强调了对中文字符的完美呈现,解决了以往许多转换工具在处理中文时出现的问题。 首先,我们来了解iText 5.4.2的...

    利用ITEXT、PDFBOX将PDF转为图片

    在Java编程环境中,我们可以利用ITEXT和PDFBOX这两个库来实现这个功能。这两个库都是处理PDF的强大工具,各有其特点和优势。 首先,ITEXT是一个用于创建、修改和阅读PDF文档的Java库。它可以用于生成PDF报告、填充...

    java 实现word 转PDF (采用第三方技术 IText、Poi、Jsoup)

    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 将tif转换成PDF 包含多页

    本篇将深入讲解如何使用Java和iText库将多页的TIFF(Tagged Image File Format)文件转换为多页的PDF(Portable Document Format)文件。首先,让我们了解下相关的知识点。 **1. TIFF 文件格式** TIFF是一种灵活的...

    iText7 itextpdf/html2pdf

    iText7 用于html转换pdf核心包-html2pdf-1.0.1.jar。。。。

    itext将图片生成PDF(高清版)

    9. 运行demo:提供的`itext图片转pdf的demo`可能是一个完整的Java程序,包含了上述步骤的实现。运行这个示例,可以直观地看到如何使用`iText`库生成高清PDF。 在实际应用中,可能还需要考虑其他因素,如图片的原始...

    itextpdf在已有pdf指定页及位置添加图片(包含jar及实例)

    这里我们将深入探讨如何使用Java和iTextPDF库来实现这一功能。 iTextPDF是一个开源的Java库,专门用于创建、修改和处理PDF文档。它提供了丰富的API,使得开发者能够方便地进行PDF操作。在本例中,我们关注的是如何...

    使用POI和IText将Excel转换成PDF

    本篇文章将详细探讨如何使用Apache POI和iText这两个Java库来实现这一功能。 Apache POI是一个开源项目,它提供了读取和写入Microsoft Office格式文件的能力,包括Excel(.xlsx和.xls)。而iText则是一个用于创建和...

    使用itextpdf将excel转化为pdf + pdf加水印

    TestForExcel2PDF测试类可能包含这样的逻辑:首先,加载Excel文件,然后使用itextpdf的API将工作表的内容转换为PDF页面,最后保存为PDF文件。这个过程中可能涉及到对Excel表格的样式、字体、颜色等元素的保持,以...

    java使用itextpdf、itext-asian对pdf文件加水印

    在Java中使用iTextPDF和iText-Asian添加中文水印,你需要完成以下几个步骤: 1. **引入依赖**:在你的项目中,你需要添加iTextPDF和iText-Asian的依赖。如果是Maven项目,可以在pom.xml文件中添加如下依赖: ```xml...

    itext合并和拆分PDF实例

    根据提供的文件信息,我们可以深入探讨如何使用iText库在Java环境中进行PDF文件的合并与拆分操作。以下是对这些操作的详细解释。 ### iText简介 iText 是一个开源库,用于生成、修改以及处理PDF文件。它支持多种...

Global site tag (gtag.js) - Google Analytics