[英]Generating PDF containing SVG images using Apache FOP in an Oracle database
我正在嘗試使用Apache FOP在Oracle 11g數據庫中生成PDF文檔。 我已經使用loadjava工具將以下JAR文件中的類安裝到了架構中:
在數據庫內部時,我可以生成沒有圖形的PDF文檔。 數據庫(命令行)外部的相同代碼創建具有所有相關圖形的PDF文檔。
內聯SVG圖形在數據庫中執行時似乎只是被忽略了。 在數據庫外部,蠟染正確地呈現了它們。
您是否已成功使用Apache FOP在Oracle數據庫中生成包含SVG圖形的PDF文檔? 您能提出什么建議?
我有一個定義為<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.apache.xalan.internal.xsltc.trax.TemplatesImpl$TransletClassLoader@98644313
<no principals>
java.security.Permissions@b0558743 (
(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(' data:image / png; base64,iVBORw0KGgoAAAANSUhEUgA ... ')似乎已解決了該圖像的問題。
謝謝!
我確定了<fo:external-graphic />
內嵌圖像的問題:問題出在src屬性,該屬性最初是在沒有url('...')的情況下指定的。 在src屬性中添加url()可使圖像在數據庫中運行時解析。
在數據庫中運行時,我仍然無法獲得嵌入式SVG圖形。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.