我正尝试使用Apache FOP在Oracle 11g数据库内生成PDF文档。我已经安装了下列JAR文件中的类为我的架构,使用loadjava工具:在Oracle数据库中使用Apache FOP生成包含SVG图像的PDF
- 共享记录-1.0.4.jar
- 公地IO-1.3.1.jar
- Avalon的框架-4.2.0.jar
- XML的API-EXT-1.3.04.jar
- 的Xalan-2.7.0.jar
- 串行 - 2.7.0.jar
- xmlgraphics-commo NS-1.5.jar
- 蜡染全1.7.jar
- fop.jar
虽然数据库里面,我才能不用图形PDF文档。数据库之外的相同代码(命令行)会创建包含所有相关图形的PDF文档。
内联SVG图形在数据库内执行时似乎只是被忽略。在数据库之外,它们被Batik正确渲染。
你是否成功使用的Apache FOP生成包含SVG图形的PDF文档,在Oracle数据库中?你可以提出什么建议?
我有一个图形定义为<fo:external-graphic content-width=".5in" content-height=".5in" src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgA..." />
。这个正确呈现在数据库之外,并导致权限错误,同时在数据库中执行:
ORA-29532: Java call terminated by uncaught Java exception:
javax.xml.transform.TransformerException:
java.security.AccessControlException: the Permission
(java.lang.RuntimePermission getClassLoader) has not been granted to
ProtectionDomain (null <no signer certificates>)
com.sun.org.apa[email protected]98644313
<no principals>
[email protected] (
(java.lang.RuntimePermission modifyThreadGroup)
(java.lang.RuntimePermission createSecurityManager)
(java.lang.RuntimePermission modifyThread)
(java.lang.RuntimePermission preferences)
(java.lang.RuntimePermission exitVM)
(java.util.PropertyPermission user.language write)
(java.util.PropertyPermission * read)
(oracle.aurora.security.JServerPermission LoadClassInPackage.*)
)
在数据库中,我知道如何将权限授予我模式;但我不知道我会如何将getClassLoader授予我加载的代码库。
注意:改变内嵌图形的URL上面明确要求 URL(“数据:图像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgA ...... ”)似乎已经解决了这个问题图片。
谢谢!