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相关推荐

  1. 一看就懂手机里的PDF转换成PPT的方法

    我们都知道只要使用版本比较高的office都能直接将PPT另存为PDF,但要将PDF转回成PPT就没那么容易了,必要要借助一些工具才能实现. 特别是如果是手机转换可选择的方式更局限,一般比较常用的就是 ...

  2. 手机里的OFD文件如何转成PDF

    我们日常无论是工作还是生活中都需要跟各种电子文档打交道,最近收到一个类型为ofd的文件,之前没接触过,甚至都不知道要如何打开这类的文件. 根据百度百科的说明OFD(Open Fixed-layout ...

  3. 多个pdf合并成一个pdf_手机里多个PDF合并成一个PDF的免费方法

    工作中难免会遇上PDF格式的文件,毕竟使用PDF格式,在很多情况下是非常方便的.因为PDF格式拥有许多其他文件格式难以相比的特点,比如使用PDF格式来发送文件,不会轻易被修改,同时使用PDF格式,看起 ...

  4. 怎么将手机里的PDF文件转成图片

    PDF文件用手机该怎么转成图片呢?我们在查看PDF文件是总觉得没有图片看的自在,所以很多时候需要把PDF文件转成图片,那手机该怎么转换呢?一起来看看下面的方法吧. 1.首先在百度手机助手或者手机自带的 ...

  5. OPPO手机里的照片转换成PDF文件的方法,简单实用!

    在工作或者生活中避免不了有时需要将图片转换为PDF的情况,其实现在不止电脑上可以实现了,有很多的手机端软 件也能实现了,本文就和大家分享一下如何在手机上实现图片转换为PDF. 图片转换为PDF操作步骤 ...

  6. 教你免费将手机里的PDF转Word还能同步到电脑

    将手机里的PDF文档进行转换并不是什么新鲜且很难的事情,一般使用软件或者在线都能直接转换,当然免费的也能找到.但如果还要将转换后的文档也同步到电脑上呢? 先将PDF文档发到电脑再转换?还是手机转换后再 ...

  7. 手机PDF如何转成PPT?操作方法如何?

    PDF文件最为一种通用的文件格式,有经验的朋友后知道PDF文件在很多的情况下是需要转换的,PDF转换成PPT格式可以很好的展示作品,同时把PDF转换成PPT也更加方便修改.所以小编今天就在这里和大家分 ...

  8. pdf怎么转成word?手机电脑均可一步转换

    之前一个师兄因为写论文,花费了不少时间查阅资料,由于相当一部分内容都是PDF格式的难以直接引用,为了把pdf转成word他又是煞费苦心.现在把他用过体验友好的方式介绍出来,希望能帮助到有同样问题的朋友 ...

  9. Android 将文本和图片写入到pdf文件以及读取手机里的pdf文件

    1.首先讲一下将文本和图片写入到pdf文件这个功能实现的思路 获取PdfDocument对象-->通过page.getCanvas()获取一个Canvas对象-->在这个Canvas上进行 ...

  10. 手机PDF文件转换成图片教程来了,PDF转换器推荐

    手机PDF文件怎么转换成图片?你还在用截图的方式来将PDF文件转换成图片吗?虽然确实是一种转换的方法,但是使用过的都会发现转换出来的图片清晰度不高,那该如何高清转换呢?今天小编就给大家推荐一个比较好用 ...

最新文章

  1. 树状数组(Binary Indexed Tree) 总结
  2. Java: System.exit() 与安全策略
  3. go和python计算字节数组sha1
  4. javase阶段总结脑图
  5. 【嵌入式Linux】嵌入式Linux应用开发基础知识之串口应用编程
  6. 在TypeScript和ASP.NET Core中处理文件上传和受保护的下载
  7. 拥抱数据共享与代码开源的新时代
  8. SpringBoot日志
  9. vissim交通仿真实验(1)--仿真基础
  10. 计算机如何手动新建服务启动项,电脑开机设置怎么设置启动项
  11. EDK2-UEFI开发
  12. Codeforces Round 63 (Rated for Div. 2) F. Delivery Oligopoly dp+图论状态转移
  13. 新C# 操作Excel属性
  14. 计算机主机的光驱怎么打开,笔记本电脑光驱怎么打开?高手教你打开笔记本光驱的方法...
  15. J-link OB 读取不了的问题
  16. Android开发中的drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系
  17. C++中的预处理器概述
  18. 软件工程大师 Martin Fowler 谈机器学习持续交付
  19. 编译 android monkey,Android monkey使用详解
  20. Python性能优化指南--让你的Python代码快x3倍的秘诀

热门文章

  1. 计算机窗口是什么意思解释,Windows电脑窗口是什么?关于电脑窗口的一些基础知识...
  2. html5 JavaScript 邮箱地址验证
  3. 相机标定与棋盘格标定
  4. 大鹏背景,大鹏为什么能邀请那么多明星?揭秘董成鹏的成名路
  5. 开发android怎么开发ios app,怎么开发ios android 都能使用的app
  6. PDCP 功能与基本概念
  7. 别下载CAJ了!用这个插件,轻松在知网下载PDF
  8. 注册石墨文档无法连接服务器,石墨文档没有访问权限是怎么回事?权限解决方法看这里!...
  9. 【联盛德W806上手笔记】八、SPI及其DMA
  10. BZOJ 2069 POI2004 ZAW 堆优化Dijkstra