C#代码使用Process类调用SWFTools工具
一。Process类调用SWFTools工具将PDF文档转为swf文档 1 string cmdStr = "D:\\SWFTools\\pdf2swf.exe";
string PDFPath = HttpContext.Current.Server.MapPath("PDFFile/liuzeliang.pdf");
string SWFPath = HttpContext.Current.Server.MapPath("SWFFile");
string args = " -o "+"\""+SWFPath+"\\liuzeliang.swf"+"\""+ " -s flashversion=9 " + "\""+ PDFPath+"\"";
using (Process p = new Process())
{
try
{
p.StartInfo.FileName = cmdStr;
p.StartInfo.Arguments = args;
p.StartInfo.UseShellExecute = false; //不使用系统外壳程序启动
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.CreateNoWindow = false;
p.Start();
//p.StandardInput.WriteLine(args);
p.WaitForExit();
if (p != null)
{
p.Close();
}
}
catch (Exception)
{
throw;
}
}
遇到的问题大概如下(swftools-0.9.0 Windows版本 官网下载地址:http://www.swftools.org/download.html):
1.调用pdf2swf.exe将pdf转swf失败。
原因:swf文件存放路径含义空格(红色部分D:\Users\zeliang.liu\Documents\Visual Studio 2015\Projects\FlexPaperTest\FlexPaperTest\SWFFile)
解决方法:给整个路径用双引号括起来。(红色部分:string args = " -o "+"\""+SWFPath+"\\liuzeliang.swf"+"\""+ " -s flashversion=9 " + "\""+ PDFPath+"\"";)
2.转换成功后调用FlexPaper无法显示。
原因:swf文件版本问题。
解决方法:在传入process的参数里加入 -s flashversion=9 注意=前后不要有空格。(其实我刚开始用的-T并不能成功显示)
二。利用flexpaper插件显示swf文件
1.先下载好flexpaper的.rar包,然后将包中的js复制到项目中在引用下面俩个js到页面(我的flexpaper是1.4.5版本的) 2.将文件夹中的FlexPaperViewer.swf放到项目中去
<script src="scripts/flexpaper/jquery.js"></script>
<script src="scripts/flexpaper/flexpaper_flash.js"></script>
1 <a id="viewerPlaceHolder" style="width:660px;height:480px;display:block"></a>
<script type="text/javascript">
var swfFile = "SWFFile/liuzeliang.swf";
var fp = new FlexPaperViewer(
///FlexPaper组件的SWF框架路径
'scripts/flexpaper/FlexPaperViewer',
'viewerPlaceHolder',
{
config:
{
///需要显示的.swf
SwfFile: escape(swfFile),
Scale: 0.6,
ZoomTransition: 'easeOut',
ZoomTime: 0.5,
ZoomInterval: 0.2,
FitPageOnLoad: false,
FitWidthOnLoad: false,
PrintEnabled: true,
FullScreenAsMaxWindow: false,
ProgressiveLoading: false,
MinZoomSize: 0.2,
MaxZoomSize: ,
SearchMatchAll: false,
InitViewMode: 'Portrait',
ViewModeToolsVisible: true,
ZoomToolsVisible: true,
NavToolsVisible: true,
CursorToolsVisible: true,
SearchToolsVisible: true,
localeChain: 'en_US'
}
}); </script>
C#代码使用Process类调用SWFTools工具的更多相关文章
- 利用.Net中Process类调用netstat命令来判断计算端口的使用情况
利用.Net中Process类调用netstat命令来判断计算端口的使用情况: Process p = new Process();p.StartInfo = new ProcessStartInfo ...
- C#的Process类调用第三方插件实现PDF文件转SWF文件
在项目开发过程中,有时会需要用到调用第三方程序实现本系统的某一些功能,例如本文中需要使用到的swftools插件,那么如何在程序中使用这个插件,并且该插件是如何将PDF文件转化为SWF文件的呢?接下来 ...
- C#使用Process类调用外部程序(转)
在程序开发中,一个程序经常需要去调用其他的程序,C#中Process类正好提供了这样的功能.它提供对本地和远程进程的访问并使您能够启动和停止本地系统进程.一.启动进程实例 Process myProc ...
- Process类调用exe,返回值以及参数空格问题
(方法一)返回值为int fileName为调用的exe路径,入口参数为para,其中多个参数用空格分开,当D:/DD.exe返回值为int类型时. Process p = new Process() ...
- C#的Process类的一些用法
c#之process类相关整理 一.根据进程名获取进程的用户名? 需要添加对 System.Management.dll 的引用 using System.Diagnostics; using Sys ...
- c#之process类相关整理
一.根据进程名获取进程的用户名? 需要添加对 System.Management.dll 的引用 using System.Diagnostics; using System.Manageme ...
- 转:Process类的使用
转载自:http://www.oschina.net/code/snippet_119226_6188 一.根据进程名获取进程的用户名? 需要添加对 System.Management.dll 的引用 ...
- C#使用Process类杀死进程,执行命令等
c#之process类相关整理 一.根据进程名获取进程的用户名? 需要添加对 System.Management.dll 的引用 using System.Diagnostics; using Sys ...
- Java使用OkHttps工具类调用外部接口
前言 现在公司业务已止不是传统的增删改查等简单的业务处理操作,而是对数据各种联调三方接口与其他系统进行交互等,那么就需要我们在后台java中进行外部接口的调用,本文采用OkHttps工具类对接微信接口 ...
随机推荐
- androidkiller连接模拟器并修改源码调试
首先需要连接模拟器,首先在模拟器的bin目录下运行命令:nox_adb.exe connect 127.0.0.1:62001(可以disconnect关闭): 之后在androidkiller的bi ...
- 对Link Map File的初步认识
什么是Link Map File Link Map File中文直译为链接映射文件,它是在Xcode生成可执行文件的同时生成的链接信息文件,用于描述可执行文件的构造部分,包括了代码段和数据段的分布情况 ...
- scrapy CrawlSpider解析
CrawlSpider继承自Spider, CrawlSpider主要用于有规则的url进行爬取. 先来说说它们的设计区别: SpiderSpider 类的设计原则是只爬取 start_urls 中的 ...
- HTML基础-------HTML标签(3)
HTML标签(3) 表格 作用:制作一个表格 属性: 标签;table>tr>td(或者th) 语义; table:一个表格 tr:一行 td:一个单元格 th:单元格的表头 captio ...
- 使用jquery模拟请求,测试项目是否存在跨域限制
1.Get 请求 <html> <head><script src="https://cdn.staticfile.org/jquery/1.10.2/jque ...
- windows下mysql 5.7以上版本安装及遇到的问题
(原) 早些前用window安装mysql挺简单的,一个安装程序,一路下一步. 2006的5.0版本,确实太早了点. 于是官网上又下了一个版本,windows也是提供了二个版本Installer(安装 ...
- day 24 面向对象之继承及属性查找顺序
组合 组合:自定义类的对象作为另外一个类的属性 class Teacher: def init(self, name, age): self.name = name self.age = age t1 ...
- 如何在本地测试Fabric Code
前一篇博客讲到了如何编译本地的Fabric Code成镜像文件,那么如果我们想改Fabric源代码,实现一些Fabric官方并没有提供的功能,该怎么办呢?这时我们除了改源码,增加需要的功能外,还需要能 ...
- remote: Permission to user_name/Code.git denied to other_user_name. fatal: unable to access 'https://github.com/user_name/Code.git/': The requested URL returned error: 403
Error msg: $ git push remote: Permission to xxx/Code.git denied to xxxxxx. fatal: unable to access ' ...
- Webstorm的一些常用快捷键
ctrl+/ 单行注释ctrl+shift+/块注释Ctrl+X 删除行Ctrl+D 复制行Ctrl+B 快速打开光标处的类或方法Ctrl+F 查找文本Ctrl+R 替换文本ctrl+shift+ + ...