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();
}
分享到:
相关推荐
在HTML到PDF的转换过程中,iText通常会结合一个HTML解析器,如Flying Saucer,来处理HTML内容。Flying Saucer将HTML解析为一个可视化的渲染树,然后iText将这个渲染树转化为PDF的页面元素。这个过程涉及到CSS样式的...
标题中的"itext-rtf-2.1.7"指的正是iText库的一个版本,专门用于处理RTF格式的模块,该版本为2.1.7。在本篇中,我们将深入探讨iText RFT 2.1.7的功能、应用场景以及其在项目中的使用方法。 iText RFT 2.1.7的核心...
通过XMLWorker,开发者可以将网站内容、电子邮件或者任何基于XML的数据转换为PDF格式。 itextpdf-5.1.0是iText的一个后续版本,相比于2.0.8,它引入了更多特性,如更强的表单处理能力、更多的加密选项以及对PDF/A...
4. **邮件附件**:在邮件营销中,可以将HTML邮件内容转化为PDF附件,便于用户离线阅读。 总结,iText5.5.11 DLL作为一款强大的PDF处理工具,为C#开发者提供了丰富的功能,使得在各种场景下处理PDF文档变得轻松便捷...
IText可以将XML或HTML内容直接转换为PDF,简化了从Web内容到PDF的转换过程,便于生成网页打印版或者电子邮件附件。 8. **性能优化** 5.5.4版本进行了性能优化,提高了文档生成和处理的速度,减少了内存占用,这...
iText是一个强大的Java库,专为创建和处理PDF文档而设计。版本5.5.3是这个库的一个重要里程碑,提供了丰富的功能和稳定性改进。在本文中,我们将深入探讨iText 5.5.3的核心特性,以及如何利用它来构建高效的应用程序...
在报表生成场景中,iText可以帮助开发者将HTML、文本、图像等数据转换为PDF格式,方便用户打印或保存。它提供了丰富的API,可以设置字体、颜色、布局等样式,还可以插入表格、列表、链接等元素。 5. **jFreechart**...
在这个场景下,iTextPdf可能被用来将由FreeMarker生成的HTML转换为PDF格式,便于用户下载和打印。通过iTextPdf,我们可以控制PDF的页面大小、字体、颜色、图像等元素,确保工资条的格式准确无误。 SpringBoot集成这...
在这个项目中,它可能用于处理HTML中的中文字符,以解决乱码问题。IText能确保正确的字体和编码设置,使得非ASCII字符(如中文)得以正确显示。 4. **主方法与工具类**: 项目中包含一个名为`Html2Image`的工具类...
同时,这个描述中还提到了转换为PDF格式,虽然FreeMarker本身不直接支持PDF生成,但可以结合其他库,如Apache POI或iText,先用FreeMarker生成HTML或Word,再转换为PDF。 在实际应用中,这个过程可能会涉及到一些...
`core-renderer.jar`主要用于渲染HTML内容,而`iText`是一个强大的PDF处理库,它允许我们创建、编辑和读取PDF文件。 首先,确保你的开发环境中已经安装了Eclipse IDE,并且配置了Java运行环境。然后,你需要将`core...
它提供了与各种邮件协议(如SMTP、POP3和IMAP)交互的接口,包括支持SSL/TLS加密的安全连接,以及MIME多部分消息处理,使得可以发送包含附件、HTML内容或嵌入图片的复杂邮件。 首先,要使用JavaMail发送邮件,你...
在FTL转PDF的过程中,XMLWorker可以帮助解析HTML并将其转换为iText能理解的格式,进而生成PDF。 为了实现FTL到PDF的转换,开发者通常会遵循以下步骤: 1. **渲染FTL模板**:首先,使用FreeMarker引擎将数据模型和...
Apache Commons Email库是JavaMail的一个简化版本,提供了更简单的接口来发送电子邮件,包括HTML邮件、附件、多部分消息等。要使用JavaMail,你需要理解SMTP(Simple Mail Transfer Protocol)协议,这是互联网上...
Java中,`java.util.Base64`类负责Base64编码,`com.itextpdf.text.pdf.PdfReader`和`com.itextpdf.text.pdf.PdfWriter`则处理PDF文件。对于其他语言如JavaScript,可以使用`atob()`和`btoa()`函数进行Base64的编码...
这可能需要用到Apache POI库来处理Microsoft Office文档,或者iText库处理PDF文档。 5. **权限控制**:后台需要设定不同用户的操作权限,例如,管理员可以查看所有论文,普通用户只能查看和编辑自己的论文。这可以...
- 创建和发送邮件,可以是简单的文本邮件,也可以是包含附件的HTML邮件。 - 接收邮件,通过POP3和IMAP协议从邮件服务器下载邮件。 - 管理邮件,如读取邮件内容、附件和邮件头信息等。 3. jFreeChart组件 jFreeChart...
邮件服务的实现一般依赖于JavaMail API,配合Spring的JavaMailSender接口,可以轻松发送各种格式的邮件,包括文本、HTML甚至附件。短信支持通常涉及到第三方短信服务商的API集成,Spring的Template模式可以帮助我们...
5. **FreeMarker - freemarker-2.3.13.jar**: FreeMarker是一个模板引擎,常用于生成动态HTML或其他文本格式,比如电子邮件。它将数据模型与HTML模板结合,生成最终的静态页面。 6. **DOM4J - dom4j-1.6.1.jar**: ...
在与FreeMarker结合使用时,iText5通常用于将FreeMarker处理后的HTML或XML转换为PDF。iText5提供了丰富的API,可以精确地控制PDF的页面布局、字体、颜色等属性。 在这个示例中,你可能首先使用FreeMarker将数据填充...