簡體   English   中英

在Oracle數據庫中使用Apache FOP生成包含SVG圖像的PDF

[英]Generating PDF containing SVG images using Apache FOP in an Oracle database

我正在嘗試使用Apache FOP在Oracle 11g數據庫中生成PDF文檔。 我已經使用loadjava工具將以下JAR文件中的類安裝到了架構中:

  1. 共享記錄-1.0.4.jar
  2. 公地IO-1.3.1.jar
  3. 阿瓦隆框架-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公地-1.5.jar
  8. 蠟染全1.7.jar
  9. fop.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM