`
xuxiannian
  • 浏览: 52757 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iText 处理html格式邮件

阅读更多
import java.io.InputStream;

import org.xml.sax.InputSource;

import com.lowagie.text.DocListener;
import com.lowagie.text.html.HtmlParser;
import com.lowagie.text.html.SAXmyHtmlHandler;
import com.lowagie.text.pdf.BaseFont;

public class ITextSurportHtmlParser extends HtmlParser {
    public ITextSurportHtmlParser(){
        super();
    }
   
    public void goGB(DocListener document, InputStream is) throws Exception{
       
			BaseFont bfChinese = BaseFont.createFont("/MSYH.TTF", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);    

            parser.parse(new InputSource(is), new SAXmyHtmlHandler(document, bfChinese));
       
 
    }
}
 
Document document = new Document(); 
		try {
			FileOutputStream f=new FileOutputStream(filePath+File.separator
					+ "email.pdf");
			PdfWriter.getInstance(document,f);
			document.open();
			BaseFont bfChinese = BaseFont.createFont("/MSYH.TTF", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);    
			document.add(new Paragraph("Subject:"+email.getStrsubject(), new Font(bfChinese, 10, Font.NORMAL)));
			document.add(new Paragraph("From:"+email.getStrfrom(), new Font(bfChinese, 10, Font.NORMAL)));
			document.add(new Paragraph("To:"+email.getStrto(), new Font(bfChinese, 10, Font.NORMAL)));
			document.add(new Paragraph("Dtattime:"+email.getDtattime(), new Font(bfChinese, 10, Font.NORMAL)));
			document.add(new Paragraph("Content:", new Font(bfChinese, 10, Font.NORMAL)));
			try{
				String htmText = new String(("<html>"+email.getStrcontent()+"</html>").getBytes("UTF-8"),"ISO8859-1");
	        	StringBufferInputStream html = new StringBufferInputStream(htmText);
	        	ITextSurportHtmlParser p = new ITextSurportHtmlParser();               
	            p.goGB(document, html);
			}catch(Exception e){
				System.out.println("邮件内容不是标准的XHTML,原文输出!");
				document.add(new Paragraph(email.getStrcontent(), new Font(bfChinese, 10, Font.NORMAL)));
			}
			document.close(); 
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
 
分享到:
评论

相关推荐

    iText html转pdf jar包

    在HTML到PDF的转换过程中,iText通常会结合一个HTML解析器,如Flying Saucer,来处理HTML内容。Flying Saucer将HTML解析为一个可视化的渲染树,然后iText将这个渲染树转化为PDF的页面元素。这个过程涉及到CSS样式的...

    itext-rtf-2.1.7

    标题中的"itext-rtf-2.1.7"指的正是iText库的一个版本,专门用于处理RTF格式的模块,该版本为2.1.7。在本篇中,我们将深入探讨iText RFT 2.1.7的功能、应用场景以及其在项目中的使用方法。 iText RFT 2.1.7的核心...

    itext-2.0.8

    通过XMLWorker,开发者可以将网站内容、电子邮件或者任何基于XML的数据转换为PDF格式。 itextpdf-5.1.0是iText的一个后续版本,相比于2.0.8,它引入了更多特性,如更强的表单处理能力、更多的加密选项以及对PDF/A...

    itext5.5.11 dll

    4. **邮件附件**:在邮件营销中,可以将HTML邮件内容转化为PDF附件,便于用户离线阅读。 总结,iText5.5.11 DLL作为一款强大的PDF处理工具,为C#开发者提供了丰富的功能,使得在各种场景下处理PDF文档变得轻松便捷...

    itext_5.5.4

    IText可以将XML或HTML内容直接转换为PDF,简化了从Web内容到PDF的转换过程,便于生成网页打印版或者电子邮件附件。 8. **性能优化** 5.5.4版本进行了性能优化,提高了文档生成和处理的速度,减少了内存占用,这...

    itext-5.5.3

    iText是一个强大的Java库,专为创建和处理PDF文档而设计。版本5.5.3是这个库的一个重要里程碑,提供了丰富的功能和稳定性改进。在本文中,我们将深入探讨iText 5.5.3的核心特性,以及如何利用它来构建高效的应用程序...

    JSP使用组件jspSmartUpload+JavaMail+jaf+iText+jFreechart

    在报表生成场景中,iText可以帮助开发者将HTML、文本、图像等数据转换为PDF格式,方便用户打印或保存。它提供了丰富的API,可以设置字体、颜色、布局等样式,还可以插入表格、列表、链接等元素。 5. **jFreechart**...

    基于SpringBoot实现的生成工资条源代码,使用FreeMarker模板引擎, iTextPdf生成工资条PDF

    在这个场景下,iTextPdf可能被用来将由FreeMarker生成的HTML转换为PDF格式,便于用户下载和打印。通过iTextPdf,我们可以控制PDF的页面大小、字体、颜色、图像等元素,确保工资条的格式准确无误。 SpringBoot集成这...

    html转为图片,java后端

    在这个项目中,它可能用于处理HTML中的中文字符,以解决乱码问题。IText能确保正确的字体和编码设置,使得非ASCII字符(如中文)得以正确显示。 4. **主方法与工具类**: 项目中包含一个名为`Html2Image`的工具类...

    Java html转word 使用FreeMarker

    同时,这个描述中还提到了转换为PDF格式,虽然FreeMarker本身不直接支持PDF生成,但可以结合其他库,如Apache POI或iText,先用FreeMarker生成HTML或Word,再转换为PDF。 在实际应用中,这个过程可能会涉及到一些...

    java开发html转pdf示例

    `core-renderer.jar`主要用于渲染HTML内容,而`iText`是一个强大的PDF处理库,它允许我们创建、编辑和读取PDF文件。 首先,确保你的开发环境中已经安装了Eclipse IDE,并且配置了Java运行环境。然后,你需要将`core...

    javamail发送邮件和java解析pdf

    它提供了与各种邮件协议(如SMTP、POP3和IMAP)交互的接口,包括支持SSL/TLS加密的安全连接,以及MIME多部分消息处理,使得可以发送包含附件、HTML内容或嵌入图片的复杂邮件。 首先,要使用JavaMail发送邮件,你...

    ftl转pdf的jar下载

    在FTL转PDF的过程中,XMLWorker可以帮助解析HTML并将其转换为iText能理解的格式,进而生成PDF。 为了实现FTL到PDF的转换,开发者通常会遵循以下步骤: 1. **渲染FTL模板**:首先,使用FreeMarker引擎将数据模型和...

    java操作pdf和javamail的合包

    Apache Commons Email库是JavaMail的一个简化版本,提供了更简单的接口来发送电子邮件,包括HTML邮件、附件、多部分消息等。要使用JavaMail,你需要理解SMTP(Simple Mail Transfer Protocol)协议,这是互联网上...

    PDF和Base64格式互相转换

    Java中,`java.util.Base64`类负责Base64编码,`com.itextpdf.text.pdf.PdfReader`和`com.itextpdf.text.pdf.PdfWriter`则处理PDF文件。对于其他语言如JavaScript,可以使用`atob()`和`btoa()`函数进行Base64的编码...

    JSP论文格式化系统_——后台模块的设计与实现(源代码+论文).zip

    这可能需要用到Apache POI库来处理Microsoft Office文档,或者iText库处理PDF文档。 5. **权限控制**:后台需要设定不同用户的操作权限,例如,管理员可以查看所有论文,普通用户只能查看和编辑自己的论文。这可以...

    WEB程序设计(第7章 JSP实用组件)

    - 创建和发送邮件,可以是简单的文本邮件,也可以是包含附件的HTML邮件。 - 接收邮件,通过POP3和IMAP协议从邮件服务器下载邮件。 - 管理邮件,如读取邮件内容、附件和邮件头信息等。 3. jFreeChart组件 jFreeChart...

    完美整合框架包(Spring+SpringMVC+mybitas+文件上传下载+邮件+短信支持+生成PDF、Excel)

    邮件服务的实现一般依赖于JavaMail API,配合Spring的JavaMailSender接口,可以轻松发送各种格式的邮件,包括文本、HTML甚至附件。短信支持通常涉及到第三方短信服务商的API集成,Spring的Template模式可以帮助我们...

    lib_2.rar

    5. **FreeMarker - freemarker-2.3.13.jar**: FreeMarker是一个模板引擎,常用于生成动态HTML或其他文本格式,比如电子邮件。它将数据模型与HTML模板结合,生成最终的静态页面。 6. **DOM4J - dom4j-1.6.1.jar**: ...

    导出word和pdf模板示例文件

    在与FreeMarker结合使用时,iText5通常用于将FreeMarker处理后的HTML或XML转换为PDF。iText5提供了丰富的API,可以精确地控制PDF的页面布局、字体、颜色等属性。 在这个示例中,你可能首先使用FreeMarker将数据填充...

Global site tag (gtag.js) - Google Analytics