apache Fop 2.1 支持中文
apache Fop 2.1 支持中文
Apache Fop可以把xsl-fo格式、xml、xslt转换pdf文件。其中关键点就是熟悉xsl-fo语法和xslt
在使用的过程,遇到了fop中文转换的问题,通过查找资料,和官方例子解决了
apache fop 2.1 mavne 仓库地址
<dependency><groupId>org.apache.xmlgraphics</groupId><artifactId>fop</artifactId><version>2.1</version></dependency>
建议从官网下载fop,里面包含了xsl-fo的语法和例子,下面就是官网的下载
http://mirrors.hust.edu.cn/apache/xmlgraphics/fop/binaries/fop-2.1-bin.zip
官方例子
import org.apache.fop.apps.FopFactory;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.MimeConstants;
public static void convertFO2PDF()throws IOException, SAXException, ConfigurationException{
//读取字体配置文件,配置中文
FopFactory fopFactory =Fop Factory.newInstance(new File("C:/Temp/bar.conf.xml"));
//输出pdf文件路径
OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(“C:/Temp/myfile.pdf”)));
try {
// Step 3: Construct fop with desired output format
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out);
// Step 4: Setup JAXP using identity transformer
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(); // identity transformer// Step 5: Setup input and output for XSLT transformation
// Setup input stream
Source src = new StreamSource(new File("C:/Temp/myfile.fo"));// Resulting SAX events (the generated FO) must be piped through to FOP
Result res = new SAXResult(fop.getDefaultHandler());// Step 6: Start XSLT transformation and FOP processing
transformer.transform(src, res);
} finally {
//Clean-up
out.close();
}
网上下载中文字体,通过fop自带的工具类,生成xml文件,fop好像只支持ttf格式的字体,可以生成fop识别的字体文件
代码如下
String[] parameters = {
“-ttcname”,
“NotoSansCJK-Black”,
“xxx.ttf”,
xxx.xml文件}
TTFReader.main(parameters);
配置bar.conf.xml文件的内容
方正宋三简体.xml文件是我用工具生成xml
然后可以在fop中调用Barcode字体,
文件我都是用的绝对路径,官网可以用相对路径,可是我没试成功 ,希望看到这篇文章的大神,可以帮我解决下这个问题 ,其中我用的Freemarker+FOP 生成自定义pdf的内容
xsl-fo详细教程:https://www.antennahouse.com/XSLsample/FOsample.htm
最后的结果
apache Fop 2.1 支持中文相关推荐
- linux apache中文名称图片,Apache、NGINX支持中文URL图片、文件名的终极解决方案
本帖最后由 vzandy 于 2013-3-15 15:40 编辑 Apache(32位):安装环境:CentOS 5.6 + Apache 2.2.15 安装结果:安装后支持"中文图片.文 ...
- java实现zip的压缩和解压(支持中文文件名)
2019独角兽企业重金招聘Python工程师标准>>> 额(⊙o⊙)- package com.ly.xjgl.utils;import java.io.BufferedInputS ...
- PHP生成PDF完美支持中文,解决TCPDF乱码
PHP生成PDF完美支持中文,解决TCPDF乱码 2011-09-26 09:04 418人阅读 评论(0) 收藏 举报 phpfontsheaderttfxhtml文档 PHP生成PDF完美支持中文 ...
- [转载]tomcat的配置文件server.xml不支持中文注释的解决办法
原文链接:http://tjmljw.iteye.com/blog/1500370 启动tomcat失败,控制台一闪而过,打开catalina的log发现错误指向了conf/server.xml,报错 ...
- php下载的文件不是汉字,php实现支持中文的文件下载功能示例
前言 本文主要给大家介绍了关于php实现支持中文的文件下载功能的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 问题说明 文件下载,通常有一种最为简单的方法,那就是将url ...
- Apache FOP与Eclipse和OSGi的集成
Apache FOP是由XSL格式化对象( XSL-FO )驱动的开源打印处理器. 例如,将数据对象转换为PDF可能非常有用. 但是,将其集成到PDE中并最终以OSGi Service的形式运行并最终 ...
- java 生成pdf 乱码_利用java处理fop导出pdf的中文乱码问题解决方案
本文的作用是,生成带中文的加密pdf格式的文件,防止被人修改. 在项目下建立docbook-xsl, fo-res, out, sample四个文件夹 docbook-xsl目录: 放从sourcef ...
- nginx中文url php,使Nginx服务器支持中文URL的相关配置详解
关于中文URL已经是老话题了,到目前为止依然有很大一部分SEOer都会说不要使用中文URL,对搜索引擎不友好. 不过,那已经是以前的事了,谷歌很早就支持了中文URL,当时百度技术没有跟上,URL中会出 ...
- DirectAdmin安装mod_encoding支持中文
以下的DirectAdmin安装mod_encoding支持中文文件名的过程,完全来自全球主机论坛Captain大神分享, 由于32位和64位系统下的操作方式略有差异,所以分开表述.首先,我们来看32 ...
- Flying Saucer 不支持中文,换行,粗体,CheckBox多选框的解决方案
最近要生成打印版的保单信息,内容比较多,也比较复杂,iText直接生成的话,想必花很多时间,而且可能也很难维护,偶然看到了HTML 在 Fly Saucer的帮助下能转换成PDF,解析CSS还不错,顿 ...
最新文章
- oracle的安装与plsql的环境配置
- docker 中用docker 启动应用访问docker中的mysql
- groovy 兼容 java_java – eclipse插件和maven依赖项中存在的’groovy-all’jar之间的兼容性问题...
- oracle数据基本操作,Oracle数据库基本操作
- 计算机视觉三大会议——ICCV、ECCV和CVPR
- Linux的重定向与管道
- linux限制进程使用的cpu使用率
- Mydumper 多线程备份工具
- python爬取酷狗音乐付费音乐包_一篇文章教会你使用Python网络爬虫下载酷狗音乐...
- 计算机流体仿真,ANSYS FLUENT 计算流体力学软件
- v2ex站长专访 - 100offer专访Livid:不仅仅是V站站长
- 【机器学习7】决策树
- 原生js编写的todos
- 使用GOOGLE API做了个简繁英互译小工具
- android文件夹隐藏,Android – 快速获取隐藏图像和文件夹的方法
- 我们为什么要参与到 GSoC/GSoD 的活动中?
- Linux下ll命令
- 阿里心电图数据特征分析
- xmapp启动mysql出现Error: MySQL shutdown unexpectedly.
- Gamit Gloness 数据处理 流程
热门文章
- ShaderMap Pro(贴图制作转换生成工具)v1.3.1官方版
- 拆卸台式计算机的顺序,台式电脑拆装与清灰教程,让电脑焕然一新|Crucial(英睿达)...
- MyBatis Mapper.xml的choose/case标签详解
- 平安科技软件+金山WPS测试面试题
- spark的数三角形算法_腾讯开源全栈机器学习平台 Angel 3.0,支持三大类型图计算算法...
- 微型计算机使用的键盘shift,微型计算机使用的键盘中,shift键称为什么
- 中国经济刺激计划将提振大宗商品
- 408计算机组成原理学习:数据的表示与计算
- 去除桌面图标蓝底的方法
- BF(暴力求解算法)