java使用xmlWorkerHelper将html转pdf
2017-11-16 11:05
627 查看
1、引入maven包
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.12</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.5.8</version>
</dependency>
2、编码示例:
import java.io.ByteArrayInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.nio.charset.Charset;
import com.itextpdf.text.Document;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.tool.xml.XMLWorkerHelper;
public class XmlWorkerHelperUtil{
public static void htmlToPDF(String htmlString,String pdfPath) {
try {
Document document = new Document(PageSize.A4);
PdfWriter pdfWriter = PdfWriter.getInstance(document,
new FileOutputStream(pdfPath));
document.open();
document.addAuthor("pdf作者");
document.addCreator("pdf创建者");
document.addSubject("pdf主题");
document.addCreationDate();
document.addTitle("pdf标题,可在html中指定title");
XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
InputStream inputStream=null;
worker.parseXHtml(pdfWriter, document, new ByteArrayInputStream(htmlString.getBytes("UTF-8")),inputStream,Charset.forName("UTF-8"),new AsianFontProvider());
document.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3、字体处理:
import com.itextpdf.text.Font;
import com.itextpdf.tool.xml.XMLWorkerFontProvider;
public class AsianFontProvider extends XMLWorkerFontProvider {
@Override
public Font getFont(final String fontname, String encoding, float size, final int style) {
String fntname = fontname;
if (fntname == null) {
/*使用的windows里的宋体,可将其文件放资源文件中引入*/
fntname = "fonts/simsun.ttc";
}
if (size == 0) {
size = 4;
}
return super.getFont(fntname, encoding, size, style);
}
}
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.12</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.5.8</version>
</dependency>
2、编码示例:
import java.io.ByteArrayInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.nio.charset.Charset;
import com.itextpdf.text.Document;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.tool.xml.XMLWorkerHelper;
public class XmlWorkerHelperUtil{
public static void htmlToPDF(String htmlString,String pdfPath) {
try {
Document document = new Document(PageSize.A4);
PdfWriter pdfWriter = PdfWriter.getInstance(document,
new FileOutputStream(pdfPath));
document.open();
document.addAuthor("pdf作者");
document.addCreator("pdf创建者");
document.addSubject("pdf主题");
document.addCreationDate();
document.addTitle("pdf标题,可在html中指定title");
XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
InputStream inputStream=null;
worker.parseXHtml(pdfWriter, document, new ByteArrayInputStream(htmlString.getBytes("UTF-8")),inputStream,Charset.forName("UTF-8"),new AsianFontProvider());
document.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3、字体处理:
import com.itextpdf.text.Font;
import com.itextpdf.tool.xml.XMLWorkerFontProvider;
public class AsianFontProvider extends XMLWorkerFontProvider {
@Override
public Font getFont(final String fontname, String encoding, float size, final int style) {
String fntname = fontname;
if (fntname == null) {
/*使用的windows里的宋体,可将其文件放资源文件中引入*/
fntname = "fonts/simsun.ttc";
}
if (size == 0) {
size = 4;
}
return super.getFont(fntname, encoding, size, style);
}
}
相关文章推荐
- 【JAVA】使用 iText XMLWorker实现HTML转PDF
- [ASP.net MVC] 将HTML转成PDF档案,使用iTextSharp套件的XMLWorkerHelper (附上解决显示中文问题)
- 使用XMLWorkerHelper.getInstance().parseXHtml生成PDF时中文不显示或乱码问题
- java使用pdfbox把PDF转成html
- java html转pdf 使用wkhtmltox 组件
- itext xmlworker转换html生成pdf文件
- Java 使用jacob ppt文件转pptx,doc转docx;word 转html、pdf等
- java使用pd4ml将html转换成pdf
- java 使用xpath解析xml和html
- JAVA常用API或编程工具001---ITEXT把html转换成pdf的jar包,使用Java将HTML转换为PDF
- 在JAVA项目中,使用JasperReports与iReport,直接连接打印机可打印(word excel xml pdf )文档
- Java使用wkhtmltox实现HTML代码生成PDF文档或者图片
- Java中使用XML标签<x:transform />转化XML为HTML
- Java使用wkhtmltox实现HTML代码生成PDF文档或者图片
- 使用Jacob批量转换word为txt、pdf、xps、html、xml等文档
- iText – 使用Java将HTML转换为PDF
- java使用flySaucer实现html转pdf
- 使用BO JAVA SDK打开WEBI报表,并进行PDF、EXCEL、CSV、HTML导出
- Java使用Flying Saucer实现HTML代码生成PDF文档
- 使用Java将PDF解析成HTML页面进行展示并从页面中提取Json数据设置到Table中