首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >iText 处理html格式邮件

iText 处理html格式邮件

作者头像
用户11690639
发布2026-06-17 21:58:44
发布2026-06-17 21:58:44
560
举报
代码语言:javascript
复制
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));
       
 
    }
}

代码语言:javascript
复制
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();
		} 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档