2014-10-08 95 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圖形數據庫運行時呈現。