SWFTools pdf2swf 参数详解
swftools 软件介绍
Swftools的优点
• 这是一款相当实用的软件,它基于Adobe Flash 的平台下,依托其强大的功能,不仅 能够将文件转化成多种swf格式的文件,便 于大家的使用;还能从现有的swf文件中提 取出自己想要的东西,真正体现了人性化 的一面。
Swftools的评价
• 通过使用swftools这一工具,使用者不仅可以节省 大量的时间,也能使得过程非常简单。真可谓是: 操作简单省时间!以PDF2SWF这一功能为例,当 我们在使用swftools中的PDF2SWF这个功能时,很 容易将一个PDF格式的文件转换成翻页的Flash文 件。用户只需上传一个PDF格式的文件,然后转换 器(使用pdf2swf)就会将其转换成一个功能齐全 的翻页书籍。
SWFTOOLS软件介绍
2011年11月17日
Swftools基本概况
• Swf是什么?
swf(shock wave flash)是Macromedia公司的动 画设计软件Flash的专用格式,是一种支持矢量和 点阵图形的动画文件格式,被广泛应用于网页设 计,动画制作等领域,swf文件通常也被称为Flash 文件。
• PDF2SWF • 在xpdf的基础上开发的,能解析pdf,并把pdf转成flash (SWF)文件,对中文等多字节字体支持很好 • SWFCombine • 合并两个swf文件,应该说是把一个由pdf2swf生成的swf文 件插入到一个swf模板中,比如添加导航条等功能 • SWFStrings • 扫描swf文件,并导出text文本,swf2text,用于抽取swf中 的文字,这样swf也可以支持文字查找了
Swftools的主要功能
• • • • • • • • • • • • SWFDump 输出swf的信息 JPEG2SWF 把多张jpeg转成一个swf格式的slideshow (即幻灯片) PNG2SWF 和jpeg2swf差不多,适用于png格式的图片 jpeg2swf png GIF2SWF 这个也和jpeg2swf差不多,而且支持动态的gif文件 WAV2SWF 把声音文件转成swf,需要L.A.M.E.的mp3 类编码器支持 AVI2SWF 把avi转成swf,这样电影也可以方便地转成swf了
SWFTools使用说明
SWFTools 是一组用来处理 Flash 的 swf 文件的工具包,包括:1. 合并工具 swfcombine2. 抽取工具 swfextract3. PDF/JPEG/PNG/AVI/TTF/WAV 到 SWF 的转换工具:pdf2swf, jpeg2swf, png2swf, avi2swf, font2swf, and wav2swf|4. 文本解析工具 swfstrings5. SWF 解析器 swfdump6. SWF 读写库 rfxswflib一个简单的将PDF文档转成SWF的用法:C:\SWFTools\pdf2swf Paper3.pdf -o Paper3.swf -f -T 9pdf2swf man pagepdf2swf -s parametersCurrent GitUsage: /usr/local/swft_git/bin/pdf2swf [-options] file.pdf -o file.swf-h , --help Print short help message and exit-V , --version Print version info and exit-o , --output file.swf Direct output to file.swf. If file.swf contains '%' (file%.swf), then each page goes to a seperate file.-p , --pages range Convert only pages in range with range e.g. 1-20 or 1,4,6,9-11 or-P , --password password Use password for deciphering the pdf.-v , --verbose Be verbose. Use more than one -v for greater effect. -z , --zlib Use Flash 6 (MX) zlib compression.-i , --ignore Allows pdf2swf to change the draw order of the pdf. This may make the generated-j , --jpegquality quality Set quality of embedded jpeg pictures to quality.0 is worst (small), 100 is best (big). (default:85)-s , --set param=value Set a SWF encoder specific parameter. See pdf2swf -s help for more information.-w , --samewindow When converting pdf hyperlinks, don't make the links open a new window.-t , --stop Insert a stop() command in each page.-T , --flashversion num Set Flash Version in the SWF header to num.-F , --fontdir directory Add directory to the font search path.-b , --defaultviewer Link a standard viewer to the swf file.-l , --defaultloader Link a standard preloader to the swf file which will be displayed while the main swf is loading.-B , --viewer filename Link viewer filename to the swf file.-L , --preloader filename Link preloader filename to the swf file.-q , --quiet Suppress normal messages. Use -qq to suppress warnings, also.-S , --shapes Don't use SWF Fonts, but store everything as shape. -f , --fonts Store full fonts in SWF. (Don't reduce to used characters).-G , --flatten Remove as many clip layers from file as possible. -I , --info Don't do actual conversion, just display a list of all pages in the PDF.-Q , --maxtime n Abort conversion after n seconds. Only available on Unix.-s Set a SWF encoder specificPDF Parameters:PDF device global parameters:fontdir=<dir> a directory with additional fontsfont=<filename> an additional font filenamepages=<range> the range of pages to convert (example: pages=1-100,210-) zoom=<dpi> the resultion (default: 72)languagedir=<dir> Add an xpdf language directorymultiply=<times> Render everything at <times> the resolutionpoly2bitmap Convert graphics to bitmapsbitmap Convert everything to bitmapsSWF Parameters:SWF layer options:jpegsubpixels=<pixels> resolution adjustment for jpeg images (same as jpegdpi, but in pixels)ppmsubpixels=<pixels resolution adjustment for lossless images (same as ppmdpi, but in pixels)subpixels=<pixels> shortcut for setting both jpegsubpixels and ppmsubpixelsdrawonlyshapes convert everything to shapes (currently broken) ignoredraworder allow to perform a few optimizations for creating smaller SWFslinksopennewwindow make links open a new browser windowlinktarget target window name of new linkslinkcolor=<color) color of links (format: RRGGBBAA)linknameurl Link buttons will be named like the URL they refer to (handy foriterating through links with actionscript)storeallcharacters don't reduce the fonts to used characters in the output fileenablezlib switch on zlib compression (also done if flashversion>=6)bboxvars store the bounding box of the SWF file in actionscript variablesdots Take care to handle dots correctlyreordertags=0/1 (default: 1) perform some tag optimizations internallinkfunction=<name> when the user clicks a internal link (to a different page) in the converted file, this actionscript function is calledexternallinkfunction=<name> when the user clicks an external link (e.g. http://www.foo.bar/) on the converted file, this actionscript function is called disable_polygon_conversion never convert strokes to polygons (will remove capstyles and joint styles)caplinewidth=<width> the minimum thichness a line needs to have so that capstyles become visible (and are converted)insertstop put an ActionScript "STOP" tag in every frame protect add a "protect" tag to the file, to prevent loading in the Flash editorflashversion=<version> the SWF fileversion (6)framerate=<fps> SWF framerateminlinewidth=<width> convert horizontal/vertical boxes smaller than this width to lines (0.05)simpleviewer Add next/previous buttons to the SWFanimate insert a showframe tag after each placeobject (animate draw order of PDF files)jpegquality=<quality> set compression quality of jpeg imagessplinequality=<value> Set the quality of spline convertion to value (0-100, default: 100).disablelinks Disable links.通过代码将PDF转换成SWF来说,现在比较常用的一种方式就是利用SWFTools工具中的pdf2swf(/)。
php在线预览word
php在线预览word⼀般类似oa或者crm等管理系统可能都会遇到需要再线查看word⽂档的功能,类似百度⽂库。
记得去年⼩组中的⼀个成员负责的项⽬就需要这个的功能,后⾯说是实现⽐较困难,就将就着⽤chm格式替代了。
今天看到⽹上⼀遍⽂章《LINUX下⾯PHP⽂件转换》,介绍怎么样在linux下使⽤Openoffice 3 , Pdf2Swf tool , Jodconverter , FlexPaper,实现⽂档在线查看。
⾃⼰再ubuntu下进⾏的尝试安装,步骤如下:因为ubuntu版本为10.0.4,openoffice已经默认安装。
如果没有安装openoffice的话⾃⾏⾕歌安装。
第⼀步:安装jodconverter,安装之后可以实现doc⽂档转成pdf。
1. java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /home/php/1.doc /home/php/1.pdf这⾥提⽰缺少java软件包,并会提⽰⼏个安装包供。
选择我安装openjdk-6-jre-headless,命令如下:1. sudo apt_get openjdk-6-jre-headless安装之后再运⾏上⾯doc转pdf的命名,会提⽰openoffice进程未启动,因为JODConverter是通过OpenOffice來做转换的,所以使⽤前需要先安裝OpenOffice, 並且將OpenOffice的Service启动, 才可以使⽤. 启动命令1. /usr/lib/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &到此运⾏上⾯的doc转pdf的命令已经可以成功。
第⼆步:安装swftools,安装之后可以实现pdf⽂件转成swf1. wget /swftools-0.9.1.tar.gz2. tar xzf swftools-0.9.1.tar.gz3. cd swftools-0.9.14. ./configure5. make6. make install测试是否可以使⽤1. pdf2swf -o /home/php/1.swf -T -z -t -f /home/php/1.pdf -s flashversion=9第三步:⽤FlexPaper实现在线预览,⾥⾯有详细的demo。
iReport开发使用步骤
开发使用步骤(iReport 4.1.1)一、JasperReport 和iReport的介绍网上有这个软件的详细介绍。
可以搜索下,进一步了解。
这里只是简略介绍。
1、JasperReport 简介l 一个报表是由一个源代码的文件来描述,这个源文件就是由DTD(jasperreport.dtd, version 0.6.3 is listed in Appendix B)来定义的XML标记。
在0.5.3版本中它的源文件扩展名变成了.jrxml; 取代了一般的.xml扩展名。
报表的源代码被编译成jasper文件(扩展名是.jasper)。
l jasper文件是一种预报表,严密的说就像是java的类被封状成的对象。
Jasper文件通过你的应用程序来加载。
它被添加一个数据源的标记从而创建报表,接着它就能以你想要的格式输出(例如:pdf或xls)。
2、iReport 简介iReport也是开源组织中的一款免费软件,其主要作用是用来以可视化的方式设计生成JasperReport 所使用的报表格式文件,因为JasperReport 本身并未提供很好的可视化报表设计工具,iReport 的出现正好弥补了这个缺陷。
现在的iReport 的最新版本是4.1.3iReport运行时需要sun java2 SDK 1.5及以上版本,为了能编译我们的报表文件我们需要完整的安装JDK。
2、1、iReport几个重要的概念1)报表的动态对象变量、参数、字段○l字段(Fields):是数据库抽取出来的,希望在报表中出现的数据库内容。
比如一个ID 的所有值。
$F{ filedsName }○2参数(Parameters):这是你的应用需要提供给报表的入口,比如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使用参数(Parameters)。
$P{ parameterName }○3变量(Variables):这是报表中一些逻辑运算的表现,比如统计值。
Office或PDF转swf
Office或PDF转swf需求描述实现常用office格式的文档(诸如doc、docx、ppt、pptx、xls、xlsx、wps、dps、et)、PDF文档的在线预览(类似百度文库、豆丁网),且允许用户指定文档是否能被下载。
实现方案总体思路实现方案分三步走,(1)若文档格式是PDF,则直接调用swftools工具,将其转换成swf文件;(2)若文档格式是MS Office,则先调用office 2007自带的“另存为”或“发布”功能,将文档转换成PDF,然后再调用swftools工具将PDF转换成swf 文件;若调用MS Office程序转换失败,则尝试调用WPS Office将文档转换成PDF;(3)若文档格式是WPS Office,则先调用WPS自带的“输出…”功能,将文档转换成PDF,然后再调用swftools工具将PDF转换成swf文件。
其中调用MS Office、WPS Office部分,实现方式是Java调用对应的COM 组件函数,第三方库采用的是Jacob 1.15-M4,要求在部署时,将jacob-1.15-M4-x64.dll或jacob-1.15-M4-x86.dll拷贝到System.getProperty("java.library.path")所指向的目录下。
而调用swftools将PDF转换成swf文件,有两种方式可以选择,一是直接将PDF文件生成为一个swf文件,二是将PDF文件每一页生成为对应的一个swf 文件。
在知识管理中,使用的是后者,因为若使用FlexPaper进行预览,后者的方式可以实现动态加载(即查看到哪一页的时候才去加载)。
Swftools的使用方式可参照Convert2SwfUtil.java类,或者浏览/。
具体实现Office文档转PDF上述代码是使用Jacob调用MS Office的COM组件,将word转换成pdf。
具体如何COM组件中有哪些函数,函数怎么使用,请参照MS Office的VBA文档。
C# 仿百度文库实现方法(已测试可行)
C# 仿百度文库在线查看功能资料发布到查看分为三个步骤:1、上传文件(doc、xls、ppt)转换成Pdf文件2、 Pdf文件转换成swf文件3、把swf文件显示出来第一步:把上传的文件(doc、xls、ppt)转换成Pdf文件。
直接在后台用代码转换,新建一个类,这一步没有什么特殊的要求,转换代码如下:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using Word = Microsoft.Office.Interop.Word;using Excel = Microsoft.Office.Interop.Excel;using PowerPoint = Microsoft.Office.Interop.PowerPoint;using Microsoft.Office.Core;using System.Collections.Generic;using System.Linq;//注://using Word = Microsoft.Office.Interop.Word;//using Excel = Microsoft.Office.Interop.Excel;//using PowerPoint = Microsoft.Office.Interop.PowerPoint;//上面三个引用在添加引用的.NET标签中// using Microsoft.Office.Core;//上面这个引用在添加引用COM中的Microsoft Office 12.0 Object Library/// <summary>///Office2Pdf 的摘要说明/// </summary>public class Office2Pdf{/// <summary>/// Word转换成pdf/// </summary>/// <param name="sourcePath">源文件路径</param>/// <param name="targetPath">目标文件路径</param>/// <returns>true=转换成功</returns>public bool DOCConvertToPDF(string sourcePath, string targetPath){bool result = false;Word.WdExportFormat exportFormat =Word.WdExportFormat.wdExportFormatPDF;object paramMissing = Type.Missing;Word.ApplicationClass wordApplication = new Word.ApplicationClass();Word.Document wordDocument = null;try{object paramSourceDocPath = sourcePath;string paramExportFilePath = targetPath;Word.WdExportFormat paramExportFormat = exportFormat;bool paramOpenAfterExport = false;Word.WdExportOptimizeFor paramExportOptimizeFor =Word.WdExportOptimizeFor.wdExportOptimizeForPrint;Word.WdExportRange paramExportRange =Word.WdExportRange.wdExportAllDocument;int paramStartPage = 0;int paramEndPage = 0;Word.WdExportItem paramExportItem =Word.WdExportItem.wdExportDocumentContent;bool paramIncludeDocProps = true;bool paramKeepIRM = true;Word.WdExportCreateBookmarks paramCreateBookmarks = Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;bool paramDocStructureTags = true;bool paramBitmapMissingFonts = true;bool paramUseISO19005_1 = false;wordDocument = wordApplication.Documents.Open(ref paramSourceDocPath, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing);if (wordDocument != null)wordDocument.ExportAsFixedFormat(paramExportFilePath,paramExportFormat, paramOpenAfterExport,paramExportOptimizeFor, paramExportRange, paramStartPage,paramEndPage, paramExportItem, paramIncludeDocProps,paramKeepIRM, paramCreateBookmarks, paramDocStructureTags,paramBitmapMissingFonts, paramUseISO19005_1,ref paramMissing);result = true;}catch{result = false;}finally{if (wordDocument != null){wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);wordDocument = null;}if (wordApplication != null){wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing);wordApplication = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}return result;}/// <summary>/// 把Excel文件转换成PDF格式文件/// </summary>/// <param name="sourcePath">源文件路径</param>/// <param name="targetPath">目标文件路径</param>/// <returns>true=转换成功</returns>public bool XLSConvertToPDF(string sourcePath, string targetPath){bool result = false;Excel.XlFixedFormatType targetType = Excel.XlFixedFormatType.xlTypePDF;object missing = Type.Missing;Excel.ApplicationClass application = null;Excel.Workbook workBook = null;try{application = new Excel.ApplicationClass();object target = targetPath;object type = targetType;workBook = application.Workbooks.Open(sourcePath, missing, missing, missing, missing, missing,missing, missing, missing, missing, missing, missing, missing, missing, missing);workBook.ExportAsFixedFormat(targetType, target,Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);result = true;}catch{result = false;}finally{if (workBook != null){workBook.Close(true, missing, missing);workBook = null;}if (application != null){application.Quit();application = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}return result;}///<summary>/// 把PowerPoint文件转换成PDF格式文件///</summary>///<param name="sourcePath">源文件路径</param>///<param name="targetPath">目标文件路径</param>///<returns>true=转换成功</returns>public bool PPTConvertToPDF(string sourcePath, string targetPath){bool result;PowerPoint.PpSaveAsFileType targetFileType =PowerPoint.PpSaveAsFileType.ppSaveAsPDF;object missing = Type.Missing;PowerPoint.ApplicationClass application = null;PowerPoint.Presentation persentation = null;try{application = new PowerPoint.ApplicationClass();persentation = application.Presentations.Open(sourcePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse); persentation.SaveAs(targetPath, targetFileType,Microsoft.Office.Core.MsoTriState.msoTrue);result = true;}catch{result = false;}finally{if (persentation != null){persentation.Close();persentation = null;}if (application != null){application.Quit();application = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}return result;}}第二步:Pdf文件转换成swf文件,这里需要借用到swftools这个软件下面的pdf2swf.exe,上网找到swftools-2013-04-09-1007,下载下来安装一下,在安装好的目录如下:,接下来转换过程中还要用到一个字库来保证转换成功。
Java实现word文档在线预览,读取office(word,excel,ppt)文件
Java实现word⽂档在线预览,读取office(word,excel,ppt)⽂件想要实现word或者其他office⽂件的在线预览,⼤部分都是⽤的两种⽅式,⼀种是使⽤openoffice转换之后再通过其他插件预览,还有⼀种⽅式就是通过POI读取内容然后预览。
⼀、使⽤openoffice⽅式实现word预览主要思路是:1.通过第三⽅⼯具openoffice,将word、excel、ppt、txt等⽂件转换为pdf⽂件2.通过swfTools将pdf⽂件转换成swf格式的⽂件3.通过FlexPaper⽂档组件在页⾯上进⾏展⽰我使⽤的⼯具版本:openof:3.4.1swfTools:1007FlexPaper:这个关系不⼤,我随便下的⼀个。
推荐使⽤1.5.1JODConverter:需要jar包,如果是maven管理直接引⽤就可以操作步骤:1.office准备下载openoffice:从过往⽂件,其他语⾔中找到中⽂版3.4.1的版本下载后,解压缩,安装然后找到安装⽬录下的program ⽂件夹在⽬录下运⾏soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard如果运⾏失败,可能会有提⽰,那就加上 .\ 在运⾏试⼀下这样openoffice的服务就开启了。
2.将flexpaper⽂件中的js⽂件夹(包含了flexpaper_flash_debug.js,flexpaper_flash.js,jquery.js,这三个js⽂件主要是预览swf⽂件的插件)拷贝⾄⽹站根⽬录;将FlexPaperViewer.swf拷贝⾄⽹站根⽬录下(该⽂件主要是⽤在⽹页中播放swf⽂件的播放器)项⽬结构:页⾯代码:fileUpload.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>⽂档在线预览系统</title><style>body {margin-top:100px;background:#fff;font-family: Verdana, Tahoma;}a {color:#CE4614;}#msg-box {color: #CE4614; font-size:0.9em;text-align:center;}#msg-box .logo {border-bottom:5px solid #ECE5D9;margin-bottom:20px;padding-bottom:10px;}#msg-box .title {font-size:1.4em;font-weight:bold;margin:0 0 30px 0;}#msg-box .nav {margin-top:20px;}</style></head><body><div id="msg-box"><form name="form1" method="post" enctype="multipart/form-data" action="docUploadConvertAction.jsp"><div class="title">请上传要处理的⽂件,过程可能需要⼏分钟,请稍候⽚刻。
java实现类似百度文库预览pdf功能
实现类似百度文库在线观看功能笔记(*.*文件-pdf文件-swf文件)实现方式调研:网上大致看了下实现的方式(借鉴了前人的文档,在此谢过),发现还是蛮多资料的。
大体上有四种转换的方式:1.Txt/Word/Excel/PPT=>PDF(OpenOffice+JodConverter)=>SWF(pdf2swf)=>FlexPaper浏览2.Txt/Word/Excel/PPT=>PDF(MSOffice+JACOB)=>SWF(pdf2swf)=>FlexPaper浏览3.Txt/Word/Excel/PPT=>SWF (FlashPaper)=> FlexPaper浏览4.Txt/Word/Excel/PPT=>SWF(print2flash)=> FlexPaper浏览上面1,2两种实现方式相对比较复杂,需要先将其他类型转换为PDF类型,再转成SWF类型在容器中显示。
所以先看了下后2种,先说说flashpaper吧,此款软件确实是转换格式的神器,可惜是收费的。
不过可以试用30天,对于这种小型的可试用的软件,我一般是装在虚拟机中,一直试用,到期了再恢复快照即可。
说实话,效果不错,但不适合开发用,因为木有买的冲动,只能忍痛割爱了!再说说print2flash,这款软件是开源的,也能实现转换swf的功能,但是上网找了半天,关于它的代码资料很是匮乏。
Java的更是凤毛麟角,无从下手,只好先晾着。
希望某位大虾有关于这个的代码资料可以共享,本人感激不尽啊!剩下的只有相对复杂的2种,不多说了,鉴于经典案例及网上资料的丰富性,我最终还是“屈服”在了第一种的组合上了。
资料方面,大致搜索了百度文库和开源中国上的一些资料,其实都大同小异。
前辈们已经为我们做了很多了,再次谢过各位分享的前辈。
项目目录及源码:另外,在lib下需要加入JodConverter压缩包中lib目录下的jar包,全部复制进去即可。
FLASH页面参数详解
"High"使外观优先于回放速度,它始终应用消除锯齿功能。如果 SWF 文件不包含动画,则会对位图进行平滑处理;如果 SWF 文件包含动画,则不会对位图进行平滑处理。
"Best"提供最佳的显示品质,而不考虑回放速度。对所有输出都进行消除锯齿处理,并且对所有位图都进行平滑处理。
如果忽略 quality 属性,其默认值为 high。
salign 参数
值: L | R | T | B | TL | TR | BL | BR
模板变量:$SA
说明: (可选)指定缩放的 Flash SWF 文件在由 width 和 height 设置定义的区域内的位置。有关这些条件的详细信息,请参阅scale 属性/参数。
L、R、T 和 B 让应用程序分别沿着浏览器窗口的左、右、上、下边缘对齐,并根据需要裁剪其余三边。
说明: 标识浏览器的 ActiveX 控件。输入的值必须与上面的显示完全一致。仅适用于 object。
width 属性
值: n 或 n%
模板变量:$WI
说明:以像素值或浏览器窗口的百分比值来指定应用程序的宽度。
height 属性
值: n 或 n%
模板变量:$HE
说明: 以像素值或浏览器窗口的百分比值来指定应用程序的高度。
"Autohigh"在开始时是回放速度和外观两者并重,但在必要时会牺牲外观来保证回放速度。回放开始时,消除锯齿功能处于打开状态。如果实际帧频降到指定帧频之下,就会关闭消除锯齿功能以提高回放速度。使用此设置可模拟 Flash 中的"消除锯齿"命令("查看">"预览模式">"消除锯齿")。
pdf转swf最简单方式
pdf转swf最简单方式
要将PDF文件转换为SWF文件(即Adobe Flash格式),可以使用一些工具和库来实现。
以下是其中一种简单的方式:
1. 使用SWFTools:SWFTools是一个开源的软件套件,提供了一些命令行工具来处理SWF文件。
2. 安装完SWFTools后,打开命令行终端或命令提示符。
3. 使用以下命令将PDF转换为SWF:
```
pdf2swf input.pdf -o output.swf -T 9
```
其中,input.pdf是要转换的PDF文件的路径,output.swf是生成的SWF文件的路径,-T 9用于指定转换质量,9表示最高质量。
4. 运行命令后,SWFTools将开始转换过程,并生成一个SWF文件。
请注意,SWF是一种已经逐渐被淘汰的技术,由于安全和性能方面的考虑,许多现代浏览器已停止对SWF的支持。
因此,在将PDF转换为SWF之前,建议您考虑是否有其他更适合的格式来呈现内容,例如HTML5或其他支持的文档格式。
swfobject2.2参数详解(swfobject.embedSWF)
swfobject2.2参数详解(swfobject.embedSWF)swfobject2.2参数详解(swfobject.embedSWF)swfobject.embedSWF(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn);各个参数的含义:1--> swfUrlStr:要加载的SWF⽂件相对地址(包括路径、⽂件名、⽂件类型等)2--> replaceElemIdStr:加载的SWF将替代id为此字符串的页⾯元素;3--> widthStr:SWF加载后在页⾯中显⽰的宽度;4--> heightStr:SWF加载后在页⾯中显⽰的⾼度;5--> swfVersionStr:要播放此SWF⽂件所要使⽤的Flash Player最低版本;6--> xiSwfUrlStr:如果没有flash那就使⽤这个⾃动安装flash的⽂件 swfobject2.2源⽂件⾥有(其实是个空的swf⽂件;7--> flashvarsObj:这⾥是flashvars的值。
这个常⽤来作为html与flash之间传递参数,本来是在params对象中的属性,由于考虑到常⽤和⽅便,所以单独取了出来。
如果不需要传参可以设置为null;也可以设置成null,然后在param中写。
8--> parObj:下⾯是可能出现的属性及其解释;play: 表⽰是否⾃动播放,true(默认,⾃动)后者false(不⾃动);loop:表⽰是否循环播放,true(默认)或者false;menu:表⽰是否显⽰右键菜单,true(默认)或者false,注意,当为false时也并不是不显⽰所有的右键菜单,⼀般会留下“设置”、“全局设置”、“关于、、、、、”等⼏个菜单;quality:参数值: low | medium | high | autolow | autohigh | best, 默认为high;说明: (可选)指定在应⽤程序回放期间使⽤的消除锯齿级别。
常用flash参数设置
常⽤flash参数设置<object type="application/x-shockwave-flash" data="vcastr3.swf" width="650" height="500" id="vcastr3"><param name="movie" value="vcastr3.swf"/></object> 必须部分,设置的flash的⼤⼩,地址,如果需要脚本使⽤,还可以设置id的名称。
<param name="allowFullScreen" value="true" /> 是否允许全屏,如果不写这⼀段,默认是不能全屏的。
<param name="FlashVars" value="xml=vcastr.xml" /> 设置参数传递给flash,如果是多个参数⽤&连接,例如key1=value1&key2=value2&key3=value3,在vcastr3中,xml这个参数可以设置成xml⽂件的地址,或者直接设置xml⽂本内容。
<param name="bgColor" value="#ff6600" /> 设置flash的背景⾊<param name="menu" value="false" /> 设置flash右键菜单,去掉⼀些默认的菜单,只留下了设置和关于flashplayer<param name="quality" value="high" /> 设置flash的播放品质可⽤参数是low autolow autohigh medium hight best, 默认应该是high<param name="scale" value="default" /> 设置flash的放缩模式可⽤参数是 showall(显⽰全部内容,保持⽐例,但是上下,或者左右可能有空⽩), noborder(放缩可以裁减内容,保持⽐例,但是不留空⽩), exactfit(放缩按照flash设置的⾼度和宽度,不保持⽐例),noscale(不放缩,原始⽐例)<param name="wmode" value="default" /> 设置flash的窗⼝模式,可⽤参数Window(默认值,始终位于html的顶层),Opaque(允许flash上层可以有⽹页的遮挡),Transparent(flash背景透明,有可能降低flash的性能)<param name="salign" value="TL" /> 设置flash缩放的参考点,可⽤参数L(左侧),R(右侧),T(上侧),B(下侧),TL(左上),TR(右上),BL(左下),BR(右下),如果不设置,默认以中⼼作为参考点。
Java实现web在线预览office文档与pdf文档实例
Java实现web在线预览office⽂档与pdf⽂档实例https:///ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX摘要:本⽂讲的是Java实现web在线预览office⽂档与pdf⽂档实例, 1、⾸先我们需要找到可以把office转换成pdf的⽅法,查找资料发现有openoffice这⼀软件可以把office转换成pdf,这⼀软件先下载下来,然后记住⾃⼰安装的在那个位置。
然后在cmd环境下进⼊安装⽬录的program⽬1、⾸先我们需要找到可以把office转换成pdf的⽅法,查找资料发现有openoffice这⼀软件可以把office转换成pdf,这⼀软件先下载下来,然后记住⾃⼰安装的在那个位置。
然后在cmd环境下进⼊安装⽬录的program⽬录,输⼊打开openoffice的命令:soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard输⼊完成之后在任务管理器可以看见soffice.bin的进程在任务管理器,这⼀服务就启动成功。
当然在代码中转换office2pdf我们还需要⼀些架包。
下载jodconverter-2.2.2架包,然后复制到lib⽬录下,引⼊架包就可以了。
这个架包有如下包:⽂档与pdf⽂档实例-office⽂档在线预览">有⼀些项⽬重复的可以删除,根据实际情况⾃⼰处理。
2、我们需要找到转换pdf2swf的⽅法。
查找资料发现swftools这个软件可以把pdf转换成swf⽂件。
把它下下来安装好就可以了。
3、我们需要⼀个展⽰swf⽂件的容器,发现有flexpaper这个插件。
⽽且展⽰效果还不错。
所以我们需要下载这个插件。
使⽤这个插件需要有三个js⽂件。
分别是:jquery.js、flexpaper_flash.js、flexpaper_flash_debug.js。
openKM安装以及配置
OpenKM6.2.3的配置简要总结(适合windows )1.首先的下载三个软件,建议官方网站下载openkm下载地址:/en/swftool下载地址:/openoffice下载地址:/zh-cn/2.下载完毕后,分别安装三个软件,建议安装前先创建目录,另外注意一点,安装完毕后,点击桌面上的start openkm,若运行不了(命令提示符闪一下就结束,正常情况下,命令提示符会一直在运行),建议在安装目录下修改如C:\openkm-6.2.13\tomcat\bin目录下面的setenv.bat文件下set JAVA_OPTS=-Xms256m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -Djava.awt.headless=true -Dfile.encoding=utf-8将2048修改为1024。
3.汉化:在/index.php/Language_Packs下载中文包.sql文件,在管理员okmAdmin用户登录进入管理界面语言里面,将下载来的sql包add new translation里面,重启openkm,登录时选择chinese。
4.在管理界面中配置:config中●application.url string http://192.1.2.132:8080/OpenKM/index.jsp●notification.message.body Text <b>文档链接: </b><ahref="${documentUrl}">${documentPath}</a><br/><b>用户: </b>${userId}<br/><b>消息: </b>${notificationMessage}<br/>●notification.message.subject Text 研发一部- ${documentName}(红色字仅供参考)●system.openoffice.path的值(value)为C:\\Program Files (x86)\\ 3●system.swftools.pdf2swf的值(value)为D:\SWFTools\pdf2swf -T 9 -f ${fileIn} -o ${fileOut}(根据路径)5.关于怎样修改openKM的localhost?●在安装路径下,如D:\KMAPP\tomcat\conf 找到server.xml文件,打开它。
swfupload 2.2.0中文使用手册和攻略教程
SWFUploadSWFUpload最初是由Vinterwebb.se开发的一个客户端的上传工具.它结合了FLASH和JavaScript的功能,以提供一种超越了传统的浏览器中<input type="file"/>标签提供的文件上传功能。
SWFUpload提供的主要功能:∙在文件选择对话框中能够进行文件多选∙页面无刷新的上传∙提供上传进度的事件回调,实时显示上传进度∙良好的浏览器兼容性∙采用了命名空间以兼容其它JS的库(例如jQuery, Prototype, 等等)∙对FLASH 8和FLASH 9播放器的支持∙对FLASH 9和FLASH 10播放器的支持(V2.2.0版本放弃了对Flash 8的支持)SWFUpload背后的设计思想和其它基于Flash的上传工具是不同的。
它将浏览器的中UI交给开发人员来控制。
开发人员能够利用XHTML,CSS,Javascript来定制符合他们网站风格的UI上传元素。
然后使用它提供的一组简单的JS事件来更新上传状态,开发人员能够利用这些事件来及时更新页面中的上传进度UI。
不幸的是Flash Player 10 更严格的安全机制迫使我们不得不将一个FlashButton放入Flash影片中。
SWFUpload提供API供开发者通过图片、文字、CSS的方式来自定制更灵活的UI显示。
SWFUpload v2SWFUploadv2包含了新的高级功能,改善了稳定性,解决了FlashPlayer中的一些bug,并且提供一套有用的插件。
新的功能包括:∙兼容了Flash Player 10的安全限制问题∙在文件上传的同时能够发送额外的POST数据∙针对每一个文件上传发送POST/GET数据∙更直观的事件回调∙动态修改实例设置∙接收服务端返回的数据∙非取消形式的停止文件上传∙自定义上传的顺序∙支持单文件、多文件的文件的选择∙文件入队数量,文件上传数量和文件大小的限制∙更合理地处理0字节的文件∙针对每个文件在上传前都提供一个最后确认的时间回调∙解决了v1.0.2版本中未描述到的关于Flash的bug∙解决的v1.0.2中的bug:∙在IE中,刷新的时候FLASH无法加载(详细可见我之前的debug过程)∙在FireFox中,如果窗口的滚动条没有回滚到顶部,那么Flash无法加载∙Race-conditions when files are cached∙兼容 FormsSWFUpload v2 延续了SWFUpload的设计目标,将UI分离以交给开发人员控制和后续扩展概述传统的HTML上传标准的HTML上传表单为用户提供一个文本框和按钮来选择文件,选中的文件是随着form表单提交的。
知识库中文档在线预览功能实现
知识库中文档在线预览功能的实现摘要:针对知识库中查看附件中的文档,采用jodconverter和openoffice将txt、word、excel、ppt格式的文件转换为pdf文件,通过pdf2swf工具将pdf文件转换为swf文件,使用flashplayer 在页面显示,实现在线预览功能。
关键词:在线预览;openoffice;jodconverter;flashplayer 中图分类号:tp319知识库采用web编辑器进行在线编辑文档时,对图片、表格的编辑会出现乱码。
文献[1-2]采用flashpaper虚拟打印功能将文档转换为swf格式实现预览。
文献[3-4]研究了基于docbook规范的文档格式转换工具的设计与实现。
然而文献[1]缺乏对pdf文档的转换,文献[2]转换文档需按照其规定的格式进行编写,为了解决以上问题,本文通过openoffice与jodconverter实现txt、word、excel、ppt格式文档的在线预览。
1 文档预览方案知识库中文档以附件的形式上传后,以flash的形式在网页上展示。
文档需要先转化为pdf,再从pdf转化为flash。
本文采用jodconverter和openoffice将txt、word、excel、ppt格式的文件转换为pdf文件,再通过swftools中的pdf2swf工具将pdf文件转换为swf文件,最终在页面显示,实现在线预览功能。
openoffice 是一套跨平台的办公室软件套件,能在windows、linux 等操作系统上执行。
它与各个主要的办公室软件套件兼容,支持xml、微软的word、excel、ppt文件等格式。
为了把文档转换pdf 格式,需将变成一个转换引擎,可以通过网络接口或命令行工具对文件的格式进行转换。
jodconverter能够将word、excel、ppt转换pdf。
swftools是一种与adobe flash(swf)文件工作的实用工具包,主要包括用于读取、编译以及生成swf文件的程序。
SWFTools参数
SWFTools参数CMD: d:\SWFTools>pdf2swf -o c:\2.swf -s flashversion=9 -s languagedir=c:\xpdf\xpdf-cinese-simplified -s poly2bitmap -s disablelinks c:\2.pdfC#:private static void ConvertCmd(string fileName){using (Process p = new Process()){string cmdStr = @"D:/SWFTools/pdf2swf.exe";//HttpContext.Current.Server.MapPath("~/SWFTools/pdf2swf.exe");string savePath = HttpContext.Current.Server.MapPath("~/filefactory/");// @"""" 相当于⼀个双引号,之所以要加@"""" 就是为了防⽌要转换的过程中,⽂件夹名字带有空格,导致失败string sourcePath = @"""" + savePath + fileName + @"""";string targetPath = @"""" + savePath + fileName.Substring(0, stIndexOf(".")) + ".swf" + @"""";string argsStr = " -t " + sourcePath + " -s flashversion=9 -s languagedir=C:\\xpdf\\xpdf-chinese-simplified -o " + targetPath; ProcessStartInfo psi = new ProcessStartInfo(cmdStr, argsStr);p.StartInfo = psi;p.Start();p.WaitForExit();}}#中⽂报错修改 add-to-xpdfrc#----- begin Chinese Simplified support package (2004-jul-27)cidToUnicode Adobe-GB1 c:\xpdf\xpdf-chinese-simplified\Adobe-GB1.cidToUnicodeunicodeMap ISO-2022-CN c:\xpdf\xpdf-chinese-simplified\ISO-2022-CN.unicodeMapunicodeMap EUC-CN c:\xpdf\xpdf-chinese-simplified\EUC-CN.unicodeMapunicodeMap GBK c:\xpdf\xpdf-chinese-simplified\GBK.unicodeMapcMapDir Adobe-GB1 c:\xpdf\xpdf-chinese-simplified\CMaptoUnicodeDir c:\xpdf\xpdf-chinese-simplified\CMapfontDir C:\WINDOWS\FontsdisplayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\simhei.ttf#displayCIDFontTT Adobe-GB1 /usr/..../gkai00mp.ttf#----- end Chinese Simplified support package。
《Flexpaper二次开发入门教程》(八) SWFTools的简单使用-使用swftools生成第一个SWF(3.1节)
3. SWFTools的简单使用有了第一章的介绍,大家对SWFTools应该有了基本的认识,下面我们开始演示怎样使用SWFTools 的gpdf2swf.exe、pdf2swf.exe的使用,由于本教程的内容范围较小,所以其他工具使用不在这里介绍。
3.1 使用swftools生成第一个SWF方式一、使用gpdf2swf可视化窗口我们打开gpdf2swf可视化窗口后,选择Open PDF,选择要生成SWF的PDF文件,之后保存为SWF,你可以选择把所有页面或者部分页面加入到SWF文件,操作如下图:(打开PDF文件)(选择PDF文件)(设置参数)(保存为SWF文件)在这里大家要注意,使用目前最新版本的SWFTools中gpdf2swf.exe生成PDF,在设置参数中,只能选择Flash 7或者8版本,但目前Flash 9或者10版本都大行其道,因此mark建议生成SWF时采用第二种方式,我们下面继续介绍。
方式二、使用pdf2swf.exe命令我们打开CMD,进入SWFTools的安装目录,这里我的安装目录是D:\Program Files\SWFTools,pdf2swf.exe的命令形式为:pdf2swf.exe [-options] file.pdf -o file.swf我们执行下面的命令:pdf2swf.exe -t F:\ajava\FusionCharts.pdf -s flashversion=9 -oF:\ajava\FusionCharts.swf由上图我们可以看到每页转换的提示,最后写入到SWF文件中,打开F:\ajava目录,可以看到FusionCharts.swf已经生成,这个swf的版本是flash 9。
这里用到了pdf2swf.exe的-t、-s、-o参数,下一节我们对pdf2swf.exe的参数作详细介绍。
注意:pdf2swf.exe命令中的文件名、目录名,不能带空格,否则不能生成SWF。
转换pdf为swf 使用pdf2swf
Private Sub pdf2swf(ByVal fn As String)Dim fnl() As String = tools1.getfileinfo(fn)'Dim fnl1() As String = Split(fnl(0), "\")'Dim nfn As String = Label1.Text.Trim & "\" & fnl1(fnl1.Length - 2)'If Directory.Exists(nfn) = False Then' Directory.CreateDirectory(nfn)'End IfDim nfn As String = Label1.Text.Trimnfn = nfn & "\" & fnl(3)If Directory.Exists(nfn) = False ThenDirectory.CreateDirectory(nfn)End If'nfn = nfn & "\" & Int(Mid(fnl(1), fnl(1).Length - 2, 3)) & ".swf"nfn = nfn & "\" & fnl(1) & ".swf"If File.Exists(fn) = True And File.Exists(nfn) = False ThenTryDim proc As New System.Diagnostics.Processproc.StartInfo.FileName = "d:\pdf2swf\pdf2swf.exe"proc.StartInfo.Arguments = fn & " -o " & nfn & " -T 9 -G -f -s lang uagedir=d:\pdf2swf\"eShellExecute = Falseproc.StartInfo.RedirectStandardOutput = Trueproc.StartInfo.RedirectStandardError = Trueproc.StartInfo.CreateNoWindow = Trueproc.Start()'proc.PriorityClass = ProcessPriorityClass.NormalDim logpath As String = "w:\pdf2swf.txt"Dim log As String = proc.StandardOutput.ReadToEndtools1.AppendText(logpath, log)Dim loge As String = proc.StandardError.ReadToEndIf loge.Trim <> Nothing Thendgvrow(loge & " " & fn)tools1.AppendText(logpath, loge & " " & fn)End Ifproc.WaitForExit()'File.Delete(fn)Catch ex As Exceptiondgvrow(ex.Message)End TryEnd Ifprobarp()End Sub。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-h , –help Print short help message and exit 打印帮助信息
-V , –version Print version info and exit 打印版本号
SWFTools pdf2swf 参数详解
SWFTools提供了一系列将各种文件转成swf的工具:
font2swf.exe
gif2swf.exe
jpeg2swf.exe
pdf2swf.exe
png2swf.exe
wav2swf.exe
具体的功能就顾名思义了。
其中把pdf转成swf的工具就是pdf2swf了。在命令行中运行pdf2swf src.pdf des.swf一般能满足需求。而命令行参数可以通过pdf2swf -f得到:
-s , –set param=value Set a SWF encoder specific parameter. See pdf2swf -s help for more information. 设置SWF转码时候的参数,具体参数可以用pdf2swf -s help获取
-b , –defaultviewer Link a standard viewer to the swf file. 指定默认的swf导航文件,用来翻页、放大缩小等等
-l , –defaultloader Link a standard preloader to the swf file which will be displayed while the main swf is loading. 指定默认的swf加载文件,用来显示加载进程效果
font= an additional font filename 增加额外的字体文件
pages= the range of pages to convert (example: pages=1-100,210-) 指定页面范围,与1级参数的-p相若
zoom= the resolution (default: 72) 指定分辨率,默认为72dpi
drawonlyshapes convert everything to shapes (currently broken) 所有都转成图形
ignoredraworder allow to perform a few optimizations for creating smaller SWFs 允许执行一些小优化
linksopennewwindow make links open a new browser window 链接打开新窗口
linktarget target window name of new links 新链接窗口的名称
linkcolor=<color) color of links (format: RRGGBBAA) 链接的颜色
-q , –quiet Suppress normal messages. Use -qq to suppress warnings, also. 不打印普通信息,用-qq就不打印警告信息。
-S , –shapes Don’t use SWF Fonts, but store everything as shape. 不使用字体,所有都转为形状。
or 1,4,6,9-11 or
指定转换
-P , –password password Use password for deciphering the pdf.指定打开pdf的密码
-v , –verbose Be verbose. Use more than one -v for greater effect.转换时输出详细的内容
-w , –samewindow When converting pdf hyperlinks, don’t make the links open a new window. 设置转换后的swf打开原pdf中的连接时使用相同的窗口
-t , –stop Insert a stop() command in each page. 在每页结尾添加一个stop()命令
enablezlib switch on zlib compression (also done if flashversion>=7) 使用zlib压缩
bboxvars store the bounding box of the SWF file in actionscript variables 在as中保存swf的区域大小
-T , –flashversion num Set Flash Version in the SWF header to num. 设置SWF所使用的flash版本号
-F , –fontdir directory Add directory to the font search path. 指定字体文件所在路径
-j , –jpegquality quality Set quality of embedded jpeg pictures to quality. 0 is worst (small), 100 is best (big). (default:85)设置转换其中的jpeg图片的质量,从0到100,默认值是85。
-o , –output file.swf Direct output to file.swf. If file.swf contains ‘13568621′ (file13568630.swf), then each page指定输出的swf文件名
-p , –pages range Convert only pages in range with range e.g. 1-20
-f , –fonts Store full fonts in SWF. (Don’t reduce to used characters). 在swf中保存全部字体。
-G , –flatten Remove as many clip layers from file as possible. 在文件中尽量去除影片层,合并它们
dots Take care to handle dots correctly 保存单点显示
reordertags=0/1 (default: 1) perform some tag optimizations 执行某些tag优化
internallinkfunction=<name> when the user clicks a internal link (to a different page) in the converted file, this actionscript function is called 内部链接函数,如果点击一个内部链接,将调用该actionscript函数
ppmsubpixels=<pixels> resolution adjustment for lossless images (same asppmdpi, but in pixels) 无损图片的分辨率
subpixels=<pixels> shortcut for setting both jpegsubpixels and ppmsubpixels 快速设置上两个参数
--------------------------------------------------------------------------------
然后看看-s都可以设置些什么:
PDF Parameters:
PDF device global parameters:
fontdir= a directory with additional fonts 指定字体目录, 与1级参数的-F相若
languagedir= Add an xpdf language directory 增加一个xpdf的语言目录,对非西欧字符有用
multiply= Render everything at the resolution 在几倍分辨率下渲染
poly2bitmap Convert graphics to bitmaps 把其中的图形转成点阵
bitmap Convert everything to bitmaps 把所有内容转成点阵(包括字体)
SWF Parameters:
SWF layer options:
jpegsubpixels=<pixels> resolution adjustment for jpeg images (same as jpegdpi, but in pixels) jpeg图片的分辨率
-z , –zlib Use Flash 6 (MX) zlib compression.使用Flash 6的zlib压缩机制
-i , –ignore Allows pdf2swf to change the draw order of the pdf. This may make the generated允许程序修改pdf的绘制顺序,可能会导致结果与原来有差异
linknameurl Link buttons will be named like the URL they refer to (handy for iterating through links with actionscript) 链接名称与链接URL一致
storeallcharacters don’t reduce the fonts to used characters in the output file 保存所有的字符字体
-I , –info Don’t do actual conversion, just display a list of all pages in the PDF. 不做实际转换,仅显示PDF的信息。