docx4j生成pdf时,如何指定pdf的页边框

qq1500098249 2016-11-16 02:16:59
生成pdf:

public String savePdf(WordprocessingMLPackage wordMLPackage,Map<String,Object> data) throws Exception {
String pdfDir = getFilePath() + ".pdf";
File file = new File(pdfDir);
FileUtils.createDir(file);
//使用默认的FOSettings settings.setWmlPackage(wmlPackage);settings.setApacheFopMime("application/pdf");
OutputStream os = new java.io.FileOutputStream(file);
Docx4J.toPDF(wordMLPackage, os);

os.flush();
os.close();

if (logger.isDebugEnabled()) {
logger.debug("savepath:"+file.getAbsolutePath());
}

return pdfDir;
}
比如说,生成word的时候,可以指定word的上下左右页边距,但是生成pdf时,如何控制页边距,我却没有找到,隐约觉得FOSettings类里会支持,但始终没有找到。
同理,做word转pdf时,也是不知如何控制pdf的页边距。
word转pdf:

public String doc2pdf(String docxPath, String pdfPath) throws Exception{
OutputStream os = null;
try {
WordprocessingMLPackage mlPackage = WordprocessingMLPackage.load(new File(docxPath));
//设置字体
Mapper fontMapper = new IdentityPlusMapper();
String fontFamily = "SimSun";
PhysicalFont simsunFont = PhysicalFonts.get(fontFamily);
fontMapper.put(fontFamily, simsunFont);

mlPackage.setFontMapper(fontMapper);

os = new java.io.FileOutputStream(pdfPath);
FOSettings foSettings = Docx4J.createFOSettings();
foSettings.setWmlPackage(mlPackage);
Docx4J.toFO(foSettings, os, Docx4J.FLAG_EXPORT_PREFER_XSL);
}catch(Exception ex){
ex.printStackTrace();
}finally {
os.close();
}
return pdfPath;
}
如果有其他的第三方开源插件,jar可以在mvnrepository找到的,麻烦也推荐一下~~当前项目的word有点复杂萌新刚刚入住社区,求各路大神回复......
...全文
297 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq1500098249 2016-11-17
  • 打赏
  • 举报
回复
...........................................难道沉了
qq1500098249 2016-11-16
  • 打赏
  • 举报
回复
有人使用过 docx4j 吗 ? word的 页边距是可以设置 ,可是pdf的相关设置,始终找不到~

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧