PDFBOX转换PDF为图片时JDK自动关闭

        最近做一个项目使用 PDFBOX将PDF转换为图片,跑了一段时间后Tomcat自动关闭,查看日志后发现 hs_err_pid5444.log,发现错误提示:

Stack: [0x0000000002460000,0x0000000002560000],  sp=0x000000000255e880,  free space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [fontmanager.dll+0x12ec8]

[error occurred during error reporting (printing native stack), id 0xc0000005]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.font.FileFont.getGlyphImage(JI)J+0
j  sun.font.FileFontStrike.getGlyphImagePtrs([I[JI)V+86
j  sun.font.GlyphList.mapChars(Lsun/java2d/loops/FontInfo;I)Z+37
        居然是 JDK 内部的错误,fontmanager.dll 字体错误? 分析 PDF文件发现PDF的字体 系统都是没有的:

PDFBOX转换PDF为图片时JDK自动关闭

        分析后发现如果PDF里面有系统没有的字体, JDK报错退出。太夸张了,这也行!解决的方法2种:

        1.把PDFBOX升级到最新1.6.0版本,1.6.0版本增加的判断PDF字体在系统是否存在,如果不存在就默认转换为系统的默认字体,避免的调用JDK获取系统不存在字体时报错的问题。

        2.把安装不存在的字体。

 

 

 

你可能感兴趣的:(PDFBOX转换PDF为图片时JDK自动关闭)