ITPUB??ì3
ITPUB论坛 » ERP二次开发 » XML Publisher如何打印圖片,例如員工照片


标题: XML Publisher如何打印圖片,例如員工照片
离线 chirsdong
风行无迹


精华贴数 3
个人空间 0
技术积分 5178 (238)
社区积分 1526 (659)
注册日期 2004-8-6
论坛徽章:18
紫蜘蛛2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:蹦床2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:铁人三项
2008北京奥运纪念徽章:排球2008年新春纪念徽章生肖徽章:猴   

发表于 2007-7-19 11:54 

__________________
见贤思齐
   
We learn from yesterday,live for today and hope for tomorrow!
      
守法朝朝忧闷,强梁夜夜欢歌,损人利己骑马骡,正直公平挨饿。修桥补路瞎眼,杀人放火儿多,我到西天问我佛,佛说:我也没辙!
         
岁月本长,而忙者自促,天地本宽,而卑者自隘。风花雪月本闲,而劳忧者自冗;天行健,君子以自强不息;地势坤,君子以厚德载物;宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。不妄取,不妄予,不妄想,不妄求,与人方便,随遇而安。
            
http://www.mynon.cn/flash/pet/fish.swf
只看该作者    顶部
离线 Harry_shan
跟着ORACLE走


精华贴数 11
个人空间 0
技术积分 19830 (44)
社区积分 6509 (212)
注册日期 2003-2-28
论坛徽章:60
现任管理团队成员2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:沙滩排球2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:举重
2008北京奥运纪念徽章:花样游泳2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:赛艇2008北京奥运纪念徽章:艺术体操2008北京奥运纪念徽章:现代五项生肖徽章2007版:牛

发表于 2007-7-19 12:07 


QUOTE:
最初由 chirsdong 发布
刚有个方法,可以看一下:

http://www.itpub.net/showthread. ... 8089757#post8089757


arsenefang ,这个例子有试过吗?可行吗?




__________________
只看该作者    顶部
离线 arsenefang
OracleEBS打雜工



来自 上海
精华贴数 1
个人空间 0
技术积分 1433 (1120)
社区积分 3 (19429)
注册日期 2004-6-8
论坛徽章:2
授权会员2008年新春纪念徽章    
      

发表于 2007-7-19 16:05 


QUOTE:
最初由 Harry_shan 发布


arsenefang ,这个例子有试过吗?可行吗?



今天抽了點時間作了測試,

提交請求後,狀態Completed,Warning。
沒有Output產生,檢查Log File內容如下:
+-----------------------------
| Starting concurrent program execution...
+-----------------------------


APPLLCSP Environment Variable set to :

XML_REPORTS_XENVIRONMENT is :
/d01/DEV/devora/8.0.6/guicommon6/tk60/admin/Tk2Motif_UTF8.rgb

XENVIRONMENT is set to  /d01/DEV/devora/8.0.6/guicommon6/tk60/admin/Tk2Motif_UTF8.rgb


Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are :
American_America.UTF8

'.,'

Spawned Process 30233
REP-3000: Internal error starting Oracle Toolkit.


看來錯誤原因是REP-3000: Internal error starting Oracle Toolkit.

不知道該如何解決

測試環境R11i.10.2


只看该作者    顶部
离线 arsenefang
OracleEBS打雜工



来自 上海
精华贴数 1
个人空间 0
技术积分 1433 (1120)
社区积分 3 (19429)
注册日期 2004-6-8
论坛徽章:2
授权会员2008年新春纪念徽章    
      

发表于 2007-7-19 16:10 
Log File下還有一些訊息:
+------------- 1) PUBLISH -------------+
Beginning post-processing of request 264095 on node SSZ-ORACLE at 19-JUL-2007 16:05:12.
Post-processing of request 264095 failed at 19-JUL-2007 16:05:13 with the error message:
One or more post-processing actions failed. Consult the OPP service log for details.
+--------------------------------------+
提示要去檢查 OPP 的Log

OPP 的Log:
[7/19/07 4:05:45 PM] [1816:RT264096] Executing post-processing actions for request 264096.
[7/19/07 4:05:46 PM] [1816:RT264096] Starting XML Publisher post-processing action.
[7/19/07 4:05:46 PM] [1816:RT264096]
Template code: SHRHREMP
Template app:  SHR
Language:      en
Territory:     CN
Output type:   PDF
[7/19/07 4:05:46 PM] [UNEXPECTED] [1816:RT264096] java.lang.ArrayIndexOutOfBoundsException: 0
        at oracle.apps.xdo.common.image.ImageReader.checkFormat(ImageReader.java:107)
        at oracle.apps.xdo.common.image.ImageReader.analyze(ImageReader.java:144)
        at oracle.apps.xdo.common.image.ImageReader.load(ImageReader.java:310)
        at oracle.apps.xdo.generator.pdf.PDFGenerator.createPDFImageReference(PDFGenerator.java:1760)
        at oracle.apps.xdo.generator.pdf.PDFGenerator.getImage(PDFGenerator.java:1848)
        at oracle.apps.xdo.template.fo.area.AreaTree.getImage(AreaTree.java:507)
        at oracle.apps.xdo.template.fo.area.InstreamForeignObjectArea.<init>(InstreamForeignObjectArea.java:40)
        at oracle.apps.xdo.template.fo.elements.FOInstreamForeignObject.doLayout(FOInstreamForeignObject.java:80)
        at oracle.apps.xdo.template.fo.elements.FOInline.doLayout(FOInline.java:103)
        at oracle.apps.xdo.template.fo.elements.FOInline.doLayout(FOInline.java:61)
        at oracle.apps.xdo.template.fo.elements.FOBlock.doLayout(FOBlock.java:180)
        at oracle.apps.xdo.template.fo.elements.FOBlock.doLayout(FOBlock.java:142)
        at oracle.apps.xdo.template.fo.elements.FOBlock.doLayout(FOBlock.java:180)
        at oracle.apps.xdo.template.fo.elements.table.FOTableCell.doLayout(FOTableCell.java:77)
        at oracle.apps.xdo.template.fo.elements.table.FOTableRow.doLayout(FOTableRow.java:139)
        at oracle.apps.xdo.template.fo.elements.table.FOTableBody.doLayout(FOTableBody.java:99)
        at oracle.apps.xdo.template.fo.elements.table.FOTableBody.doLayout(FOTableBody.java:76)
        at oracle.apps.xdo.template.fo.elements.table.FOTable.doLayout(FOTable.java:165)
        at oracle.apps.xdo.template.fo.elements.FOBlock.doLayout(FOBlock.java:180)
        at oracle.apps.xdo.template.fo.elements.FOBlock.doLayout(FOBlock.java:142)
        at oracle.apps.xdo.template.fo.elements.FOBlock.doLayout(FOBlock.java:76)
        at oracle.apps.xdo.template.fo.elements.FOFlow.doLayout(FOFlow.java:76)
        at oracle.apps.xdo.template.fo.elements.FormattingEngine.startLayout(FormattingEngine.java:148)
        at oracle.apps.xdo.template.fo.elements.FormattingEngine.run(FormattingEngine.java:95)
        at oracle.apps.xdo.template.fo.FOHandler.endElement(FOHandler.java:238)
        at oracle.xml.parser.v2.XMLContentHandler.endElement(XMLContentHandler.java:196)
        at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1212)
        at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:301)
        at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:268)
        at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:149)
        at oracle.apps.xdo.template.fo.FOProcessingEngine.process(FOProcessingEngine.java:266)
        at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:959)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:1766)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:1277)
        at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:229)
        at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:153)

[7/19/07 4:05:46 PM] [1816:RT264096] Completed post-processing actions for request 264096.

=.=" 看不懂..........


只看该作者    顶部
离线 adian
中级会员


精华贴数 1
个人空间 0
技术积分 828 (2170)
社区积分 3 (19488)
注册日期 2004-7-24
论坛徽章:2
2008年新春纪念徽章ITPUB新首页上线纪念徽章    
      

发表于 2007-7-20 00:43 
晕,我没有碰到这些问题。


根据日至文件提示,查看了Oracle处理图像的Java类ImageReader.java中:
a.  先调用load方法将图像载入到一个数组mBytes
b.  然后调用analyze
c. 在analyze方法中,调用mFormat = checkFormat(mBytes);。问题就在这个方法中出错。最后的Java提示为:java.lang.ArrayIndexOutOfBoundsException: 0,所以可能是数组abyte0中没有数据。


1)检查一下图片格式? 格式jpg,gif,png,如果bmp可能会有问题。 大小?这种方法好像有64K大小的限制,Oracle自带的处理方法没有这个限制,还没有试验出来。blob字段中是否有图片数据?

刚才我插入一个纪录,没有插入图片,错误提示和你的不一样:(


日志提示出错的语句,这个方法根据图像数据的标志位判断图像的格式:
PHP code:


public static int checkFormat(byte abyte0[])

    {

        if(
unsigned(abyte0[0]) == 255 && unsigned(abyte0[1]) == 216)

            return 
0;

        if(
unsigned(abyte0[0]) == 71 && unsigned(abyte0[1]) == 73 && unsigned(abyte0[2]) == 70)

            return 
1;

        if(
unsigned(abyte0[0]) == 137 && unsigned(abyte0[1]) == 80 && unsigned(abyte0[2]) == 78 && unsigned(abyte0[3]) == 71)

            return 
2;

        if(
unsigned(abyte0[0]) == 66 && unsigned(abyte0[1]) == 77)

            return 
3;

        return 
unsigned(abyte0[0]) != 40 || unsigned(abyte0[1]) != ? -4;

    }

2) 原来的文档中,漏掉了在建立模板文件的时候,需要编辑图像对应的field,
<fo:instream-foreign-object content-type="image/gif"><xsl:value-of select="MOB_GETBASE64STRING_IMAGE_BLOB"/>
</fo:instream-foreign-object>,已经在新的文档中添加了。


这个问题我也不太清楚......

如果你解决了这个问题,更新一下你的解决方法啥:)

QUOTE:
最初由 arsenefang 发布
Log File下還有一些訊息:
+------------- 1) PUBLISH -------------+
Beginning post-processing of request 264095 on node SSZ-ORACLE at 19-JUL-2007 16:05:12.
Post-processing of request 264095 failed at 19-JUL-2007 16:05:13 with the error message:
One or more post-processing actions failed. Consult the OPP service log for details.
+--------------------------------------+
提示要去檢查 OPP 的Log

OPP 的Log:
[7/19/07 4:05:45 PM] [1816:RT264096] Executing post-processing actions for request 264096.
[7/19/07 4:05:46 PM] [1816:RT264096] Starting XML Publisher post-processing action.
[7/19/07 4:05:46 PM] [1816:RT264096]
Template code: SHRHREMP
Template app:  SHR
Language:      en
Territory:     CN
Output type:   PDF
[7/19/07 4:05:46 PM] [UNEXPECTED] [1816:RT264096] java.lang.ArrayIndexOutOfBoundsException: 0
        at oracle.apps.xdo.common.image.ImageReader.checkFormat(ImageReader.java:107)
        at oracle.apps.xdo.common.image.ImageReader.analyze(ImageReader.java:144)
        at oracle.apps.xdo.common.image.ImageReader.load(ImageReader.java:310)
=.=" 看不懂..........


[PHP]


__________________
只看该作者    顶部
离线 goodluck_gu
初级会员



精华贴数 0
个人空间 0
技术积分 28 (40376)
社区积分 25 (6443)
注册日期 2004-9-27
论坛徽章:0
      
      

发表于 2007-7-20 12:53 
没玩过,进来学习一下


__________________
寻找ORACLE ERP二次开发工作
只看该作者    顶部
离线 chirsdong
风行无迹


精华贴数 3
个人空间 0
技术积分 5178 (238)
社区积分 1526 (659)
注册日期 2004-8-6
论坛徽章:18
紫蜘蛛2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:蹦床2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:铁人三项
2008北京奥运纪念徽章:排球2008年新春纪念徽章生肖徽章:猴   

发表于 2007-7-23 11:33 


QUOTE:
最初由 adian 发布
晕,我没有碰到这些问题。


根据日至文件提示,查看了Oracle处理图像的Java类ImageReader.java中:
a.  先调用load方法将图像载入到一个数组mBytes
b.  然后调用analyze
c. 在analyze方法中,调用mFormat = checkFormat(mBytes);。问题就在这个方法中出错。最后的Java提示为:java.lang.ArrayIndexOutOfBoundsException: 0,所以可能是数组abyte0中没有数据。


好筒子。。。

Harry,建议把他的那个帖子受精。。


__________________
见贤思齐
   
We learn from yesterday,live for today and hope for tomorrow!
      
守法朝朝忧闷,强梁夜夜欢歌,损人利己骑马骡,正直公平挨饿。修桥补路瞎眼,杀人放火儿多,我到西天问我佛,佛说:我也没辙!
         
岁月本长,而忙者自促,天地本宽,而卑者自隘。风花雪月本闲,而劳忧者自冗;天行健,君子以自强不息;地势坤,君子以厚德载物;宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。不妄取,不妄予,不妄想,不妄求,与人方便,随遇而安。
            
http://www.mynon.cn/flash/pet/fish.swf
只看该作者    顶部
离线 Harry_shan
跟着ORACLE走


精华贴数 11
个人空间 0
技术积分 19830 (44)
社区积分 6509 (212)
注册日期 2003-2-28
论坛徽章:60
现任管理团队成员2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:沙滩排球2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:举重
2008北京奥运纪念徽章:花样游泳2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:赛艇2008北京奥运纪念徽章:艺术体操2008北京奥运纪念徽章:现代五项生肖徽章2007版:牛

发表于 2007-7-23 15:10 


QUOTE:
最初由 chirsdong 发布



好筒子。。。

Harry,建议把他的那个帖子受精。。


是的,应该很有帮助。


__________________
只看该作者    顶部
离线 arsenefang
OracleEBS打雜工



来自 上海
精华贴数 1
个人空间 0
技术积分 1433 (1120)
社区积分 3 (19429)
注册日期 2004-6-8
论坛徽章:2
授权会员2008年新春纪念徽章    
      

发表于 2007-7-26 13:41 
>1)检查一下图片格式? 格式jpg,gif,png,如果bmp可能会有问

jpg,換用你的個人頭像也不行。

>2) 原来的文档中,漏掉了在建立模板文件的时候,需要编辑图像对应的field,

確定加上了。

>根据日至文件提示,查看了Oracle处理图像的Java类ImageReader.java中:

請問如何查看 Java 類裡的代碼?!


只看该作者    顶部
离线 adian
中级会员


精华贴数 1
个人空间 0
技术积分 828 (2170)
社区积分 3 (19488)
注册日期 2004-7-24
论坛徽章:2
2008年新春纪念徽章ITPUB新首页上线纪念徽章    
      

发表于 2007-7-26 22:47 
使用下在一个“Java源代码反编译专家”,对目录
C:\Program Files\Oracle\XML Publisher Desktop\Template Builder for Word\jlib\xdocore.jar的类库进行反编译,就可以看到对应的原文件。找到oracle\apps\xdo\common\image\ImageReader.java,用文本文件打开就可以看到了。

另外,你再次运行之后,日志的错误信息还是一样的?

QUOTE:
最初由 arsenefang 发布
>1)检查一下图片格式? 格式jpg,gif,png,如果bmp可能会有问

jpg,換用你的個人頭像也不行。

>2) 原来的文档中,漏掉了在建立模板文件的时候,需要编辑图像对应的field,

確定加上了。

>根据日至文件提示,查看了Oracle处理图像的Java类ImageReader.java中:

請問如何查看 Java 類裡的代碼?!





__________________
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问