加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

关于flash打印

发布时间:2020-12-15 18:39:33 所属栏目:百科 来源:网络整理
导读:部署 第一步,给现有工程添加 jar 包, (flashprint-ext.jar) ? 第二步,修改现有工程的 WEB.XML 文件,添加一个 servlet 配置: ?????? servlet ????????????? servlet-nameDirectPrintServlet/servlet-name ????????????? servlet-class ?????????????????

部署

第一步,给现有工程添加jar包,(flashprint-ext.jar)

?

第二步,修改现有工程的WEB.XML文件,添加一个servlet配置:

?????? <servlet>

????????????? <servlet-name>DirectPrintServlet</servlet-name>

????????????? <servlet-class>

???????????????????? com.runqian.report4.print.DirectPrintServlet

????????????? </servlet-class>

?????? </servlet>

?

?????? <servlet-mapping>

?????? ?????? <servlet-name>DirectPrintServlet</servlet-name>

????????????? <url-pattern>/DirectPrintServlet</url-pattern>

?????? </servlet-mapping>

?

第三步,把flashPrint文件夹放到项目应用根目录下,如DEMO应用就放到/demo下,reportmis应用就放到/reportmis

?

第四步,替换项目应用WEB-INF文件夹下的runqianReport4.tld文件(文件相对于旧文件增加了frtag标签的配置)

?

第五步,在展现报表的页面中,将原来的html标签修改为flash打印的frtag标签(见后面的标签的介绍),并增加新的标签属性directFlashPrint,该标签为非必选标签,可选值为true|false,默认值为false

例如将showReport.jsp另存为flashprint.jsp,然后修改flashprint.jsp中的内容:

原代码:

<report:htmlname="report1" reportFileName="<%=report %>"

?????? ....

?????? ....

/>

?

修改后:

<report:frtagname="report1" reportFileName="<%=report %>"

?????? ....

?????? directFlashPrint="true"

?????? ....

/>

?

Linux下使用

linux下,主要是SWFTOOLS工具的配置,其他的部分,和前面一样。

使用swftools-0.9.0.tar.gz,

1.解压

# tar –xzvfswftools-0.9.0.tar.gz

2.进入目录,执行,生成makefile文件

#cd swftools-0.9.0

#./configure

#make

#make install

过程中,可能会报错,说缺少jpeglib,freetype,根据文件夹中的文件安装jpeglib,freetype安装方法跟swftools的一样,

如果安装完jpeglib,freetype,如果还是说找不到,是因为jpeglib安装到了/usr/local/lib目录下,用这个命令来生成makefile

rm -f config.cache
LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" ./configure

?

具体的参照http://wiki.swftools.org/index.php/FAQ关于linux下安装的FAQ

?

?


在部署第5flashprint.jsp中可改属性:

1、??直接打印

标签frtag继承了标签html的所有属性。

增加了新属性directFlashPrint,这个属性是可选的,取值范围:true|false ,默认值为false

directFlashPrinttrue时,在点击flash打印按钮时,不会显示flash打印界面,直接调用flash打印的全部打印方法。

directFlashPrintfalse时,在点击flash打印按钮时,会显示flash打印界面,用户可以在显示界面上进行打印操作。

2、批量直接打印

frtag中增加了新属性directBatchPrint,来提供批量直接打印功能。这个属性是可选的,取值范围:true|false,默认值为false

?

directBatchPrinttrue时,frtag中只有属性namereportFileName是有效的且必须设置,其他的属性将被忽略,其中reportFileName的值为报表和参数的集合,格式为:{无参数报表名}{报表1(参数1=value1;参数2=value2;...)}{报表2(参数1=value1;参数2=value2;...)}... 例如:{a.raq}{b.raq(arg1=30;rg2=40)}{c.raq}

?

设置好后,页面将不显示报表,只显示直接批量打印按钮,点击批量直接打印按钮后,将直接打印报表。该功能为用户提供js接口AfterPrint,用户可以在该js中编写需要的代码,在打印完成后,该函数会被自动调用。

?

3、按钮风格

frtag中新增属性flashPrintLable, 这个属性是可选的,取值范围:HTML元素|文字,默认值为空。它可以用HTML来定义frtag标签的flash打印按钮、批量直接打印按钮的风格,当该属性为默认值或不定义时,标签会自动生成flash打印按钮。

使用说明:

<%

?? //定义打印按钮显示风格

String printImage = "<imgsrc='" + appmap + "/images/print.gif' border=no >";?

%>

<report:frtag name="report1"reportFileName="<%=report %>"

??? ....

??? flashPrintLable="<%=printImage %>"

??? ....

/>

4、是否重新打印

AfterPrint函数能够在用户确认进行全部打印后,提供需要的后续处理,如:用户希望打印后在数据库中增加此次打印事件的一条记录、提示是否再次进行打印等功能。

AfterPrint函数使用示例:

增加下面这个js函数:

function AfterPrint(){

????????????? if(confirm("你确定要重新打印吗?")){

???????????????????? varflashFrame = getFlashMovieObject("flashFrame");

???????????????????? flashFrame.printAll();

?????? ??? }

?????? }

该函数将会在用户确认全部打印后调用,提示用户是否进行全部打印操作。

?

?

5、隐藏按钮

隐藏flash打印界面js函数hideFlash

hideFlash使用示例js代码:

function AfterPrint(){

????????????? if(confirm("你确定要隐藏打印界面吗?")){

???????????????????? hideFlash();? ???

}

?????? }

该函数将会在用户确认全部打印后调用,提示用户是否隐藏flash打印界面。

?

6、全部打印按钮

flash打印界面,点击全部打印按钮后,按钮变灰不可用,打印完成后才能恢复成可点击状态

为用户开放了flash2个方法调用:使全部打印按钮不可用、使全部打印按钮恢复可用

? 使用说明js

functionAfterPrint(){

????????????? varflashFrame = getFlashMovieObject("flashFrame");

????????????? if(confirm("你确定要使全部打印按钮失效吗?")){

???????????????????? flashFrame.setPrintLableDisabled();

?????? ??? }else{

?????? ??? ????? flashFrame.setPrintLableEnabled();

?????? ??? }

?????? }

?

?

7、?? 特殊部分:关于修改JAR包中xpdf来适应字体

JAR包深处(com.runqian.report4.print),有一XPDF文件夹,其作用是为PDF2SWF提供中文支持,里面有2个配置文件(xpdfrc/chinese-simplified/add-to-xpdfrc)。目前里面采用相对路径,进行字体配置,也可采用绝对路径,Cmap里有2个字体文件,是后来添加的。配置文件的属性项,一般来说不用修改,修改其后边的路径值即可。这里是修改了add-to-xpdfrcdisplayCIDFontTT????? Adobe-GB1 ./CMap/gkai00mp.ttf后使其遇到dialog字体不报错。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读