天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 856|回复: 3

[已解决] 关于doc,xls,文件转换PDF再转换swf文件的问题

[复制链接]
晨帛信息 发表于 2013-12-5 14:55:43 | 显示全部楼层 |阅读模式
本帖最后由 sophie 于 2014-2-21 13:43 编辑

1.jpg
写的doc。xls。文件转换成PDF 再准换成swf 文件的时候出现这样子的错误,但是如果是直接用PDf 转换成SWF文件就不会有问题,
我写的转换代码如下
var docid = getCurrentDocument().getId();
var sql1 = "select * from TLK_文件管理  where id='"+docid+"'";
var docsql=queryBySQL(sql1);
var jumu=getItemValueAsString("剧目");
var liushui=getItemValueAsString("流水号");
var filename=getItemValueAsString("文件上传");
var tupian=getItemValueAsString("图片上传");
var tiaox=getItemValueAsString("条形码");
var mingc=getItemValueAsString("名称");
var zhuyan=getItemValueAsString("主演");
var chuban=getItemValueAsString("出版类型");
var leixin=getItemValueAsString("类型");
var riqi=getItemValueAsString("日期");
var didian=getItemValueAsString("地点");
var tigon=getItemValueAsString("提供者");
var laiyuan=getItemValueAsString("来源");
var dianzi=getItemValueAsString("电子词曲");
var shanchuan=getItemValueAsString("上传时间");
var shuanchuanz=getItemValueAsString("上传者");
var remark=getItemValueAsString("备注");
var uuid = new Packages.cn.myapps.util.sequence.Sequence();
var process = getDocumentProcess();     
var formProcess = getFormProcess();
var subform = formProcess.doView("11e3-3ac1-d8da6f9d-b1d7-29bae3759064");
var doc = process.doNew(subform,getWebUser(),createParamsTable());
var filenames = splitText(filename,";");
if(filenames.length==0){
   
        createAlert("请上传文件,文件不能为空!");
}
else if(docsql.size()!=0 && filenames.length>1){
     createAlert("只能选择一个文件");
}
else if(docsql.size()!=0&&filenames.length==1){
         var sql="update  TLK_文件管理  set ITEM_文件上传='"+filename+"' , ITEM_备注='"+remark+"' , ITEM_剧目='"+jumu+"' ,ITEM_流水号='"+liushui+"',"+
         " ITEM_条形码='"+tiaox+"', ITEM_名称='"+mingc+"' , ITEM_主演='"+zhuyan+"' , ITEM_出版类型 ='"+chuban+"' , ITEM_类型='"+leixin+"' , ITEM_日期='"+riqi+"',"+
         " ITEM_地点'"+didian+"' , ITEM_提供者='"+tigon+"', ITEM_来源='"+laiyuan+"', ITEM_电子词曲='"+dianzi+"', ITEM_上传时间='"+shanchuan+"', ITEM_上传者='"+shuanchuanz+"' , ITEM_图片上传='"+tupian+"' where id='"+docid+"'";
     updateByDSName("sxxy",sql);
}
else{
for(var i=0;i<filenames.length;i++){
doc.setId(uuid.getSequence());
doc.addStringItem("剧目",jumu);
doc.addStringItem("流水号",liushui);
doc.addStringItem("条形码",tiaox);
doc.addStringItem("名称",mingc);
doc.addStringItem("主演",zhuyan);
doc.addStringItem("出版类型",chuban);
doc.addStringItem("类型",leixin);
doc.addStringItem("日期",riqi);
doc.addStringItem("地点",didian);
doc.addStringItem("提供者",tigon);
doc.addStringItem("来源",laiyuan);
doc.addStringItem("电子词曲",dianzi);
doc.addStringItem("上传时间",shanchuan);
doc.addStringItem("上传者",shuanchuanz);
doc.addStringItem("文件上传",filenames);
doc.addStringItem("图片上传",tupian);
doc.addStringItem("备注",remark);
process.doCreate(doc);
if(filenames.indexOf(".doc")>0 || filenames.indexOf(".xls")>0 || filenames.indexOf(".ppt")>0 || filenames.indexOf(".txt")>0 )
{
  //将上传文件的截取文件名称,
  var rousename=filenames.substring(14);
  //1.获取文件存放的路径
  var objecFlie=new Packages.cn.myapps.util.pdf.ObpmPdfDocument();
  //2.调用路劲的方法
  var source=objecFlie.getFileRealPath(filenames);
  //3.将上传文件的转换成PDF后缀的文件,也是一个参数。
  var filenamepdf=rousename.substring(0,rousename.lastIndexOf("."))+".pdf";
  //获取转换的PDF文件存在的路劲
  var sourceswf=objecFlie.getFileRealPath(filenames.substring(0,filenames.lastIndexOf("."))+".pdf");
  //3.将上传文件的转换成PDF后缀的文件再转换成swf的文件,也是一个参数。
  var filenameswf=rousename.substring(0,rousename.lastIndexOf("."))+".swf";
  //4.存放WSF 文件的地方,
  var destDir=source.substring(0,source.lastIndexOf("/"))+"/";
  //5.先将文件转换成PDF 文件在转换成SWF文件
  var objectopdf= new Packages.cn.myapps.km.util.converter.ConverterUtil();
   objectopdf.document2pdf(source,destDir,filenamepdf);
   objectopdf.toSwf(sourceswf,destDir,filenameswf);
  

}
if(filenames.indexOf(".pdf")>0 ){
  //将PDF转换成swf文件,
  var rousename=filenames.substring(14);
  //1.获取PDF存放的路径
  var pdfFlie=new Packages.cn.myapps.util.pdf.ObpmPdfDocument();
  //2.调用路劲的方法
  var source=pdfFlie.getFileRealPath(filenames);
  //3.将上传文件的PDF转换成sWF后缀的文件,也是一个参数。
  var filenamepdf=rousename.substring(0,rousename.lastIndexOf("."))+".swf";
  //4.存放WSF 文件的地方,
  var destDir=source.substring(0,source.lastIndexOf("/"))
  //5.开始转换
  var pdftoswf= new Packages.cn.myapps.km.util.converter.PDF2SWF();
   pdftoswf.pdf2swf(source,destDir,filenamepdf);
  }
}
}
,请问是怎么回事, 难道从doc 等文件准换成PDf。再转换成swf 文件的时候需要机器上面安装什么别的软件吗?
本机就安装了pdfswf2.exe这个工具
kimi 发表于 2013-12-5 15:15:08 | 显示全部楼层
不好意思,麻烦您检查下您脚本中的第79行代码,这里提示您这行objectopdf.document2pdf(source,destDir,filenamepdf);有问题,麻烦您看下您该方法需要的参数值是不是正确的,用println语句打印出来。
kimi 发表于 2013-12-6 14:29:34 | 显示全部楼层
Q上客户反馈暂时还没有时间去排查该问题,故对应的帖子先移到待实践。
sophie 发表于 2014-2-21 13:43:09 | 显示全部楼层
Q上客户反馈该问题可以关闭了。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 13:39

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表