2014-10-08 94 views
1

我正尝试使用Apache FOP在Oracle 11g数据库内生成PDF文档。我已经安装了下列JAR文件中的类为我的架构,使用loadjava工具:在Oracle数据库中使用Apache FOP生成包含SVG图像的PDF

  1. 共享记录-1.0.4.jar
  2. 公地IO-1.3.1.jar
  3. Avalon的框架-4.2.0.jar
  4. XML的API-EXT-1.3.04.jar
  5. 的Xalan-2.7.0.jar
  6. 串行 - 2.7.0.jar
  7. xmlgraphics-commo NS-1.5.jar
  8. 蜡染全1.7.jar
  9. 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 ...... ”)似乎已经解决了这个问题图片。

谢谢!

回答

0

我与<fo:external-graphic />内嵌图像确定的问题:问题是与SRC属性,原本是没有URL(“...”)规定。将url()添加到src属性会使图像在数据库中运行时解析。

我仍然无法获得联SVG图形数据库运行时呈现。