对于AEM中的PDF生成,我使用的是apache fop API + XSL的组合:fo + OOTB AEM变换器
问题是我遇到了这个错误
java.lang.UnsupportedOperationException:
不允许反序列化
类org.apache.fop.fonts.FontCache
因为生成的PDF没有打开并且给出了500。
我通过删除与.m2并行创建的“.fop文件夹(包含fop-fonts.cache文档)本地解决了这个问题。一旦我删除了这个文件夹并完成了maven构建,我就能够正确地查看PDF了而且例外没有再来。
但是这个问题也出现在QA和其他服务器上,而且间歇地出现在我的本地。那么有人可以建议什么可能是它的永久解决方案或上述错误的任何帮助输入?
答案 0 :(得分:1)
当引用的字体无法加载时,需要删除AFAIK,.fop目录。当发生这种情况时,FOP被迫重新解析所有字体,因为它在整个环境中有点间歇性(根据你的问题),我会假设缺少一些引用的字体。
您可以尝试以下方法之一:
我建议您根据PDF分发范围从上面选择合适的选项。
希望这会有所帮助。