html转换为ofd

首先,html是常见的流式排版文档,而ofd是版式的排版文档,将流式转换为版式(借助于pdf),就需要经历一个转板过程,这个过程有两种方案:

第一步:将html超文本格式转为版式文件,可通过以下两种方案实现:

方案1.人工方式,通过html页面直接Ctrl+P调起打印,输出pdf文件:

private static String toPdfTool = "D:\\wkhtmltopdf\\bin\\wkhtmltopdf.exe";

/**

* html转pdf

* @param srcPath html路径,可以是硬盘上的路径,也可以是网络路径

* @param destPath pdf保存路径

* @return 转换成功返回true

*/

public static boolean convert(int type,String srcPath, String destPath){

File file = new File(destPath);

File parent = file.getParentFile();

//如果pdf保存路径不存在,则创建路径

if(!parent.exists()){

parent.mkdirs();

}

StringBuilder cmd = new StringBuilder();

//非windows 系统

if(System.getProperty("os.name").indexOf("Windows") == -1){

if(type==1){

toPdfTool = "/usr/local/bin/wkhtmltopdf";

cmd.append(toPdfTool);

cmd.append(" ");

cmd.append(" --images");

cmd.append(" --header-line");//页眉下面的线

//cmd.append(" --header-center 这里是页眉这里是页眉这里是页眉这里是页眉 ");//页眉中间内容

cmd.append(" --margin-top 3cm ");//设置页面上边距 (default 10mm)

//cmd.append(" --header-html file:///"+ WebUtil.getServletContext().getRealPath("")+FileUtil.convertSystemFilePath("\\style\\pdf\\head.html"));// (添加一个HTML页眉,后面是网址)

cmd.append(" --header-spacing 5 ");// (设置页眉和内容的距离,默认0)

//cmd.append(" --footer-center (设置在中心位置的页脚内容)");//设置在中心位置的页脚内容

//cmd.append(" --footer-html file:///"+WebUtil.getServletContext().getRealPath("")+FileUtil.convertSystemFilePath("\\style\\pdf\\foter.html"));// (添加一个HTML页脚,后面是网址)

cmd.append(" --footer-line");//* 显示一条线在页脚内容上)

cmd.append(" --footer-spacing 5 ");// (设置页脚和内容的距离)

cmd.append(" --javascript-delay 2000 ");

cmd.append(" --no-stop-slow-scripts ");

cmd.append(srcPath);

cmd.append(" ");

cmd.append(destPath);

}else{

toPdfTool = "/usr/local/bin/wkhtmltoimage";

cmd.append(toPdfTool);

cmd.append(" ");

cmd.append(srcPath);

cmd.append(" ");

cmd.append(destPath);

}

}

boolean result = true;

try{

Process proc = Runtime.getRuntime().exec(cmd.toString());

HtmlToPdfInterceptor error = new HtmlToPdfInterceptor(proc.getErrorStream());

HtmlToPdfInterceptor output = new HtmlToPdfInterceptor(proc.getInputStream());

error.start();

output.start();

proc.waitFor();

}catch(Exception e){

result = false;

e.printStackTrace();

}

return result;

}

通过代码的方案将html渲染后转为pdf的方案。

第二步,版式之间的转换,可以用以下方案:

1.pdf转ofd,通过调用第三方的实现,此处以开源的pdf转换ofd为例,

最终结果

ofd怎么转换成图片 java_html如何转换为ofd?相关推荐

  1. OFD文件怎么转换成图片?这两种方法能够快速转换

    怎么将OFD文件转换成图片呢?OFD文件是我们国家自主研发的一种文件版式格式标准,大家对于这种受用面较小的文件格式见到的次数可能不多,因此也对这种格式的文件不太了解,打开它需要相关的OFD阅读软件才可 ...

  2. 你想知道新版电子发票OFD怎样转换成PDF格式吗?

    随着互联网的不断发展,很多事物都逐渐向电子化的方向前进,例如我们现在所见到的一些电子发票.电子书籍.电子文档等等.在这众多的电子文档格式中,我们可能会碰见OFD格式的文档,因为这是一种比较新的格式,并 ...

  3. pdf怎么转换成图片,pdf转图片教程

    pdf怎么转换成图片,pdf转图片教程! 我们知道pdf因其稳定,不易被编辑等特点是很多人喜欢的原因,但是若是pdf文档不能被灵活使用,那pdf文件的使用价值就会大大的受到限制.比如我们想把pdf转成 ...

  4. PHP 图片转base64编码 和 base64编码字符串转换成图片保存

    1.图片转base64编码: /*图片转换为 base64格式编码*/ $img = 'uploads/01.png'; $base64_img = base64EncodeImage($img); ...

  5. WPS如何转换成图片?三种方法帮你实现

    WPS如何转换成图片?三种方法帮你轻松实现!在大学中,大家完成老师布置的专业课作业都是通过使用电脑中的WPS制作完成.为了防止自己的作业遭到其他同学的私自窜改或是复制粘贴的抄袭.有的同学就会将自己的作 ...

  6. javapdf转换成html,java pdf转换为html代码

    java pdf转换为html代码 [2021-02-08 23:39:03]  简介: php将html转为图片的方法:首先借助类库mPDF将html转换成pdf,代码为[$pdf_name= md ...

  7. 怎么把OFD文件转换成Word?分享轻松转换的方法

    怎么把OFD格式的文件转换成Word文档呢?大家在日常工作中经常会遇见把PDF文件转换成Word,但是如果遇到OFD格式的文件就会不知道怎么转换了,这种格式的文件通常在一些电子发票.电子公文上可以遇到 ...

  8. Java将图片转换成二进制,将二进制转换成图片

    Java将图片转换成二进制,将二进制转换成图片 static BASE64Encoder encoder = new sun.misc.BASE64Encoder();static BASE64Dec ...

  9. 图片转换成文本,和文本转换成图片的方法一级如何调用

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Run ...

最新文章

  1. 使用jquery解析xml
  2. 如何使用Markdown写博客
  3. java hibernate回滚_Spring Hibernate 测试事务不能回滚
  4. yolo1-5系列算法备忘录
  5. Java SE作业:判断一个字符串是否是视频文件
  6. try……catch的异常捕获机制
  7. mean shift 跟踪算法
  8. 在python中如何生成随机手机号码
  9. php网站设计国内外研究状况,毕业论文中的国内外研究现状怎么写啊
  10. html如何添加字体
  11. 苹果开发证书导出P12的问题
  12. PS制作华丽的紫色立体字
  13. CCNP课堂练习一:详解交换机vlan的介绍及通过交换机从逻辑上划分区域配置
  14. 02 资源搜索-全面、快速查找全网你想要的任何信息、情报
  15. 手机端linux虚拟机,教你如何用「UTM虚拟机」让苹果手机运行Windows/安卓/Linux系统...
  16. 金融计算机有效年利率,理性消费!教你正确计算分期的真实利率
  17. 实验室主任在ISO 15189认可准备中应该扮演什么样的角色
  18. 供应思科无线AP 华为无线AP 华三无线AP aruba无线AP ruckus无线AP
  19. [luogu] P2254 [NOI2005]瑰丽华尔兹
  20. 易语言miniblink交互教程——第三课 易语言与 Miniblink 交互

热门文章

  1. 0343基于STM32单片机的茶园大棚环境土壤湿度光强WiFi监测系统proteus仿真原理图PCB
  2. 稳坐全球第一的小米手环,爆款背后的“护城河”是如何造就的?
  3. hibernate-transaction(提交事务)
  4. 百度新闻爬虫搜索引擎实战---爬虫篇(1)
  5. DeepMind再爆性骚扰丑闻!内部邮件泄露,色狼自夸猛男
  6. C# 里面的 #region 是什么意思?
  7. 网课男生穿搭技巧尔雅答案 吴小吟
  8. 关于 HttpModule配置问题
  9. Oracle 数据库一体机:zData Light - 分布式存储管理平台
  10. python 三维数据绘制等值高线剖面图_Matplotlib中的三维绘图