手机里html转成pdf,HTML转成pdf
HTML转成pdf:
com.itextpdf
itextpdf
5.5.13
com.itextpdf.tool
xmlworker
5.5.13
public class PdfUtil2 {
//根据html文件生成pdf
public static void parseHtml2PdfByFilePath(String pdfFilePath, String htmlFilePath, String fontPath) {
Document document = new Document();
PdfWriter writer = null;
FileOutputStream fileOutputStream = null;
FileInputStream fileInputStream = null;
try {
fileOutputStream = new FileOutputStream(pdfFilePath);
writer = PdfWriter.getInstance(document, fileOutputStream);
// 设置底部距离60,解决重叠问题
document.setPageSize(PageSize.A4);
document.setMargins(50, 45, 50, 60);
document.setMarginMirroring(false);
document.open();
StringBuffer sb = new StringBuffer();
fileInputStream = new FileInputStream(htmlFilePath);
BufferedReader br = new BufferedReader(new InputStreamReader(fileInputStream, "UTF-8"));
String readStr = "";
while ((readStr = br.readLine()) != null) {
sb.append(readStr);
}
XMLWorkerHelper.getInstance().parseXHtml(writer, document, new ByteArrayInputStream(sb.toString().getBytes("Utf-8")), null, Charset.forName("UTF-8"), new MyFontProvider(fontPath));
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != document) {
document.close();
}
if (null != writer) {
writer.close();
}
if (null != fileInputStream) {
try {
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != fileOutputStream) {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 根据html内容生成pdf
*
* @param pdfFilePath pdf文件存储位置
* @param htmlcontent html内容
* @param fontPath 字体路径
* @throws DocumentException
* @throws IOException
*/
public static void parseHtml2PdfByString(String pdfFilePath, String htmlcontent, String fontPath) {
Document document = new Document();
PdfWriter writer = null;
try {
writer = PdfWriter.getInstance(document, new FileOutputStream(pdfFilePath));
// 设置底部距离60,解决重叠问题
document.setPageSize(PageSize.A4);
document.setMargins(50, 45, 50, 60);
document.setMarginMirroring(false);
document.open();
XMLWorkerHelper.getInstance().parseXHtml(writer, document, new ByteArrayInputStream(htmlcontent.getBytes("Utf-8")), null, Charset.forName("UTF-8"), new MyFontProvider(fontPath));
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != document) {
document.close();
}
if (null != writer) {
writer.close();
}
}
}
public static void main(String[] args) {
try {
// 本地
String htmlFile = "D:\\1.html";
String pdfFile = "D:\\test2.pdf";
String fontPath = "D:\\simsun.ttf";
String htmlContent = "
" + "
Test
测试中文Hello World
";
//parseHtml2PdfByString(pdfFile,htmlContent,fontPath);
parseHtml2PdfByFilePath(pdfFile,htmlFile,fontPath);
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
html中文字体设置类
@ClassName MyFontProvider
@Description
*/
public class MyFontProvider extends XMLWorkerFontProvider {
private String fontPath;
public MyFontProvider(String filePath) {
this.fontPath = filePath;
}
@Overridepublic Font getFont(final String fontname, final String encoding, final boolean embedded, final float size, final int style, final BaseColor color) {BaseFont bf = null;try {bf = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);} catch (DocumentException | IOException e) {e.printStackTrace();}Font font = new Font(bf, size, style, color);font.setColor(color);return font;}}
手机里html转成pdf,HTML转成pdf相关推荐
- 一看就懂手机里的PDF转换成PPT的方法
我们都知道只要使用版本比较高的office都能直接将PPT另存为PDF,但要将PDF转回成PPT就没那么容易了,必要要借助一些工具才能实现. 特别是如果是手机转换可选择的方式更局限,一般比较常用的就是 ...
- 手机里的OFD文件如何转成PDF
我们日常无论是工作还是生活中都需要跟各种电子文档打交道,最近收到一个类型为ofd的文件,之前没接触过,甚至都不知道要如何打开这类的文件. 根据百度百科的说明OFD(Open Fixed-layout ...
- 多个pdf合并成一个pdf_手机里多个PDF合并成一个PDF的免费方法
工作中难免会遇上PDF格式的文件,毕竟使用PDF格式,在很多情况下是非常方便的.因为PDF格式拥有许多其他文件格式难以相比的特点,比如使用PDF格式来发送文件,不会轻易被修改,同时使用PDF格式,看起 ...
- 怎么将手机里的PDF文件转成图片
PDF文件用手机该怎么转成图片呢?我们在查看PDF文件是总觉得没有图片看的自在,所以很多时候需要把PDF文件转成图片,那手机该怎么转换呢?一起来看看下面的方法吧. 1.首先在百度手机助手或者手机自带的 ...
- OPPO手机里的照片转换成PDF文件的方法,简单实用!
在工作或者生活中避免不了有时需要将图片转换为PDF的情况,其实现在不止电脑上可以实现了,有很多的手机端软 件也能实现了,本文就和大家分享一下如何在手机上实现图片转换为PDF. 图片转换为PDF操作步骤 ...
- 教你免费将手机里的PDF转Word还能同步到电脑
将手机里的PDF文档进行转换并不是什么新鲜且很难的事情,一般使用软件或者在线都能直接转换,当然免费的也能找到.但如果还要将转换后的文档也同步到电脑上呢? 先将PDF文档发到电脑再转换?还是手机转换后再 ...
- 手机PDF如何转成PPT?操作方法如何?
PDF文件最为一种通用的文件格式,有经验的朋友后知道PDF文件在很多的情况下是需要转换的,PDF转换成PPT格式可以很好的展示作品,同时把PDF转换成PPT也更加方便修改.所以小编今天就在这里和大家分 ...
- pdf怎么转成word?手机电脑均可一步转换
之前一个师兄因为写论文,花费了不少时间查阅资料,由于相当一部分内容都是PDF格式的难以直接引用,为了把pdf转成word他又是煞费苦心.现在把他用过体验友好的方式介绍出来,希望能帮助到有同样问题的朋友 ...
- Android 将文本和图片写入到pdf文件以及读取手机里的pdf文件
1.首先讲一下将文本和图片写入到pdf文件这个功能实现的思路 获取PdfDocument对象-->通过page.getCanvas()获取一个Canvas对象-->在这个Canvas上进行 ...
- 手机PDF文件转换成图片教程来了,PDF转换器推荐
手机PDF文件怎么转换成图片?你还在用截图的方式来将PDF文件转换成图片吗?虽然确实是一种转换的方法,但是使用过的都会发现转换出来的图片清晰度不高,那该如何高清转换呢?今天小编就给大家推荐一个比较好用 ...
最新文章
- 树状数组(Binary Indexed Tree) 总结
- Java: System.exit() 与安全策略
- go和python计算字节数组sha1
- javase阶段总结脑图
- 【嵌入式Linux】嵌入式Linux应用开发基础知识之串口应用编程
- 在TypeScript和ASP.NET Core中处理文件上传和受保护的下载
- 拥抱数据共享与代码开源的新时代
- SpringBoot日志
- vissim交通仿真实验(1)--仿真基础
- 计算机如何手动新建服务启动项,电脑开机设置怎么设置启动项
- EDK2-UEFI开发
- Codeforces Round 63 (Rated for Div. 2) F. Delivery Oligopoly dp+图论状态转移
- 新C# 操作Excel属性
- 计算机主机的光驱怎么打开,笔记本电脑光驱怎么打开?高手教你打开笔记本光驱的方法...
- J-link OB 读取不了的问题
- Android开发中的drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系
- C++中的预处理器概述
- 软件工程大师 Martin Fowler 谈机器学习持续交付
- 编译 android monkey,Android monkey使用详解
- Python性能优化指南--让你的Python代码快x3倍的秘诀
热门文章
- 计算机窗口是什么意思解释,Windows电脑窗口是什么?关于电脑窗口的一些基础知识...
- html5 JavaScript 邮箱地址验证
- 相机标定与棋盘格标定
- 大鹏背景,大鹏为什么能邀请那么多明星?揭秘董成鹏的成名路
- 开发android怎么开发ios app,怎么开发ios android 都能使用的app
- PDCP 功能与基本概念
- 别下载CAJ了!用这个插件,轻松在知网下载PDF
- 注册石墨文档无法连接服务器,石墨文档没有访问权限是怎么回事?权限解决方法看这里!...
- 【联盛德W806上手笔记】八、SPI及其DMA
- BZOJ 2069 POI2004 ZAW 堆优化Dijkstra