楼主: arsenefang

[精华] XML Publisher如何打印圖片,例如員工照片

[复制链接]
论坛徽章:
24
ITPUB元老
日期:2007-08-09 20:13:55蜘蛛蛋
日期:2012-11-18 21:00:26灰彻蛋
日期:2012-04-14 18:30:002012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282011新春纪念徽章
日期:2011-02-18 11:43:342010年世界杯参赛球队:尼日利亚
日期:2010-03-16 13:40:192009日食纪念
日期:2009-07-22 09:30:00生肖徽章2007版:虎
日期:2009-07-22 09:38:24奥运会纪念徽章:赛艇
日期:2008-10-24 13:25:17
11#
发表于 2007-7-19 11:54 | 只看该作者
刚有个方法,可以看一下:

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

使用道具 举报

回复
论坛徽章:
164
技术图书徽章
日期:2018-12-26 10:01:29指数菠菜纪念章
日期:2013-06-28 17:41:29蛋疼蛋
日期:2013-04-03 16:29:52指数菠菜纪念章
日期:2013-04-01 15:26:282013年新春福章
日期:2013-02-25 14:51:24指数菠菜纪念章
日期:2013-01-04 11:30:40指数菠菜纪念章
日期:2012-09-29 10:28:42版主6段
日期:2012-05-15 15:24:11指数菠菜纪念章
日期:2012-03-31 14:04:28茶鸡蛋
日期:2012-03-12 16:56:15
12#
发表于 2007-7-19 12:07 | 只看该作者
最初由 chirsdong 发布
[B]刚有个方法,可以看一下:

http://www.itpub.net/showthread. ... 8089757#post8089757 [/B]


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

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2006-05-13 15:05:252008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:龙
日期:2009-09-10 11:23:34ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28妮可·罗宾
日期:2020-09-14 14:10:48
13#
 楼主| 发表于 2007-7-19 16:05 | 只看该作者
最初由 Harry_shan 发布
[B]

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

[/B]


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

提交請求後,狀態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

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2006-05-13 15:05:252008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:龙
日期:2009-09-10 11:23:34ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28妮可·罗宾
日期:2020-09-14 14:10:48
14#
 楼主| 发表于 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.

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

使用道具 举报

回复
论坛徽章:
3
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442008新春纪念徽章
日期:2008-02-13 12:43:032009新春纪念徽章
日期:2009-01-04 14:52:28
15#
发表于 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]
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]) != 0 ? -1 : 4;
    }
[/PHP]


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


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

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






最初由 arsenefang 发布
[B]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)
=.=" 看不懂.......... [/B]
[PHP]

使用道具 举报

回复
论坛徽章:
35
2009新春纪念徽章
日期:2009-01-04 14:52:28奥运会纪念徽章:举重
日期:2012-10-15 08:40:23奥运会纪念徽章:皮划艇静水
日期:2012-10-30 08:29:18指数菠菜纪念章
日期:2013-01-04 11:30:40指数菠菜纪念章
日期:2013-04-01 15:26:28指数菠菜纪念章
日期:2013-06-28 17:41:29灰彻蛋
日期:2013-07-01 08:46:25红旗
日期:2013-08-05 08:46:16指数菠菜纪念章
日期:2013-10-08 15:45:52指数菠菜纪念章
日期:2014-01-02 16:42:03
16#
发表于 2007-7-20 12:53 | 只看该作者
没玩过,进来学习一下

使用道具 举报

回复
论坛徽章:
24
ITPUB元老
日期:2007-08-09 20:13:55蜘蛛蛋
日期:2012-11-18 21:00:26灰彻蛋
日期:2012-04-14 18:30:002012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282011新春纪念徽章
日期:2011-02-18 11:43:342010年世界杯参赛球队:尼日利亚
日期:2010-03-16 13:40:192009日食纪念
日期:2009-07-22 09:30:00生肖徽章2007版:虎
日期:2009-07-22 09:38:24奥运会纪念徽章:赛艇
日期:2008-10-24 13:25:17
17#
发表于 2007-7-23 11:33 | 只看该作者
最初由 adian 发布
[B]晕,我没有碰到这些问题。


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



好筒子。。。

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

使用道具 举报

回复
论坛徽章:
164
技术图书徽章
日期:2018-12-26 10:01:29指数菠菜纪念章
日期:2013-06-28 17:41:29蛋疼蛋
日期:2013-04-03 16:29:52指数菠菜纪念章
日期:2013-04-01 15:26:282013年新春福章
日期:2013-02-25 14:51:24指数菠菜纪念章
日期:2013-01-04 11:30:40指数菠菜纪念章
日期:2012-09-29 10:28:42版主6段
日期:2012-05-15 15:24:11指数菠菜纪念章
日期:2012-03-31 14:04:28茶鸡蛋
日期:2012-03-12 16:56:15
18#
发表于 2007-7-23 15:10 | 只看该作者
最初由 chirsdong 发布
[B]


好筒子。。。

Harry,建议把他的那个帖子受精。。 [/B]


是的,应该很有帮助。

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2006-05-13 15:05:252008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:龙
日期:2009-09-10 11:23:34ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28妮可·罗宾
日期:2020-09-14 14:10:48
19#
 楼主| 发表于 2007-7-26 13:41 | 只看该作者
>1)检查一下图片格式? 格式jpg,gif,png,如果bmp可能会有问

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

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

確定加上了。

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

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

使用道具 举报

回复
论坛徽章:
3
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442008新春纪念徽章
日期:2008-02-13 12:43:032009新春纪念徽章
日期:2009-01-04 14:52:28
20#
发表于 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,用文本文件打开就可以看到了。

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


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

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

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

確定加上了。

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

請問如何查看 Java 類裡的代碼?! [/B]

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表