1.下载print2flash3 并且安装print2flash3

2.转换工具类

(1)需要导入using Print2Flash3; 这个程序集

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Print2Flash3;
using System.IO;
using System.Collections.Generic; namespace WebThreadTest
{
public class FileConvertSwf
{
//保存所有文件名
private static List<string> fileList; //可以打印的文件格式
private List<string> printFileFormat = new List<string>() { ".doc", ".docx", ".xlsx", ".xls", ".ppt" }; public FileConvertSwf()
{
fileList = new List<string>();
} /// <summary>
/// 将文件转化为swf文件
/// 将swf文件保存到当前目录下
/// </summary>
/// <param name="filePath">原文件路径</param>
public void ConvertToSwf(string filename)
{
//获取文件后缀名
string fileExtension = Path.GetExtension(filename); //是否可以打印
if (fileExtension != null && printFileFormat.Contains(fileExtension.ToLower()))
{ int extensionIndex = filename.LastIndexOf(fileExtension); //获取文件前缀名
string fileBeforeExtension = filename.Remove(extensionIndex); //swf文件名
string targetFilename = fileBeforeExtension + ".swf"; FileInfo file = new FileInfo(targetFilename); //不存在才转化
if (!file.Exists)
{
//使用Print2Flash3服务
IServer server = new Server(); //设置默认打印机
server.SetP2FPrinterAsDefault(); //文件转化
server.ConvertFile(@filename, @targetFilename, null, null, null);
}
} } /// <summary>
/// 获取某个目录下的所有文件及子目录下的所有文件
/// </summary>
/// <param name="dirPath">目录路径</param>
public void GetFilename(string dirPath)
{
//当前目录
DirectoryInfo dir = new DirectoryInfo(dirPath); //当前目录下的所有文件
FileInfo[] files = dir.GetFiles(); foreach (var f in files)
{
//保存到文件名集合中
fileList.Add(f.FullName); //文件转换
ConvertToSwf(f.FullName);
} //获取当前目录下的子目录下的所有文件
DirectoryInfo[] dirs = dir.GetDirectories(); foreach (var d in dirs)
{
//递归获取文件名
GetFilename(d.FullName);
}
} public List<string> GetFileNameList()
{
return fileList;
} }
}

3.测试代码

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic; namespace WebThreadTest
{
public partial class testGetFile : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string dirPath = Server.MapPath(@"/resource/UploadedFiles");
FileConvertSwf fcSwf = new FileConvertSwf();
fcSwf.GetFilename(dirPath);
List<string> fileList = fcSwf.GetFileNameList(); foreach (var f in fileList)
{
Response.Write(f);
Response.Write("<br />");
}
}
}
}
}

4.html页面显示swf格式

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="convertFileTest.aspx.cs" Inherits="WebThreadTest.print2flash.demo.convertFileTest" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div> <object id="forfun" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="1000" height="600">
<param name="movie" value="/resource/ConvertedFiles/target.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#F0F0F0">
<param name="menu" value="false">
<param name="wmode" value="opaque">
<param name="FlashVars" value="">
<param name="allowScriptAccess" value="sameDomain">
<embed id="forfunex" src="/resource/ConvertedFiles/target.swf"
width="1000"
height="600"
align="middle"
quality="high"
bgcolor="#f0fff8"
menu="false"
play="true"
loop="false"
FlashVars=""
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
</div>
</form>
</body>
</html>

C# print2flash3文件转化的更多相关文章

  1. Android学习---ListView和Inflater的使用,将一个布局文件转化为一个对象

    本文将介绍ListView和Inflater的使用,将接上一篇文章内容. 一.什么是ListView? 在android开发中ListView是比较常用的控件,ListView 控件可使用四种不同视图 ...

  2. 将图片文件转化为字节数组字符串,并对其进行Base64编码处理,以及对字节数组字符串进行Base64解码并生成图片

    实际开发中涉及图片上传并且量比较大的时候一般处理方式有三种 1.直接保存到项目中 最老土直接方法,也是最不适用的方法,量大对后期部署很不方便 2.直接保存到指定路径的服务器上.需要时候在获取,这种方式 ...

  3. matlab下将图片序列转化为视频文件 && 将为视频文件转化图片序列

    将图片序列转化为视频文件 程序如下: framesPath = 'E:\img\';%图像序列所在路径,同时要保证图像大小相同 videoName = 'Bolt.avi';%表示将要创建的视频文件的 ...

  4. xls文件转化txt

    xls文件转化txt # -*- coding:utf-8 -*- # 安装pywin32包 http://sourceforge.net/projects/pywin32/files/pywin32 ...

  5. Android开发之将图片文件转化为字节数组字符串,并对其进行Base64编码处理

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985, 转载请说明出处. /** * @将图片文件转化为字节数组字符串,并对其进行Base64编码处理 * ...

  6. C#中将图片文件转化为二进制数组-用于数据库存储

    在项目开发中,使用SQL Server存储数据,数据类型image可以保存图片.但是在存储之前需要将图片转化为二进制数组的形式进行赋值. 将图片文件转换为二进制数组 /// <summary&g ...

  7. 如何把word ppt 思维导图这类文件转化为高清晰度的图片(要干货只看粗体黑字)

    我使用思维导图做学习笔记,最终绘制了一张比较满意的思维导图,想要分享出去,但由于现在思维导图软件众多,成品文件格式差别蛮大,不利于传播和打开,所以需要转化为普通图片,但笔者使用的导图软件导出转化成的图 ...

  8. c#文件转化byte数组

    public static byte[] ReadFile(string fileName) { if (!File.Exists(fileName)) { throw new Exception(& ...

  9. 【vim】把当前文件转化为网页

    这会生成一个 HTML 文件来显示文本,并在分开的窗口显示源代码: :%TOhtml (译者注:原文是 :%Tohtml,但在我的电脑上是 :%TOhtml) 转载自:https://linux.cn ...

随机推荐

  1. python Thread、lock

    Python的标准库提供了两个模块:_thread和threading,_thread是低级模块,threading是高级模块,对_thread进行了封装.绝大多数情况下,我们只需要使用threadi ...

  2. Centos 7最小化安装后配置

    关闭SELINUX vi /etc/sysconfig/selinux SELINUX=disabled :wq 配置网卡(最小化安装后ifconfig无法使用),该配置的前提是采用 NAT模式 vi ...

  3. 微软爱开源:向Linux社区开放60000多项专利

    10月10日,微软在博客中宣布正式加入开放创新网络(Open Invention Network, 简称“OIN”),向所有开源专利联盟的成员开放其专利组合. 微软的加入意味着,旗下60000多项专利 ...

  4. BZOJ3307雨天的尾巴——线段树合并

    题目描述 N个点,形成一个树状结构.有M次发放,每次选择两个点x,y对于x到y的路径上(含x,y)每个点发一袋Z类型的物品.完成所有发放后,每个点存放最多的是哪种物品. 输入 第一行数字N,M接下来N ...

  5. BZOJ2434[Noi2011]阿狸的打字机——AC自动机+dfs序+树状数组

    题目描述 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P'两个字母. 经阿狸研究发现,这个打字机是这样工作的: l 输入小 ...

  6. BZOJ4836 二元运算(分治FFT)

    设A(n)为a中n的个数,B(n)为b中n的个数.如果只考虑加法显然是一个卷积,减法翻转一下也显然是一个卷积. 问题在于两者都有.容易想到分开处理.那么可以考虑分治.即对于值域区间[l,r],分别计算 ...

  7. ajax 调用 java webapi 多个参数(一)

    最近开发 java webapi. 遇到一个问题,如果是多个参数(其中包含对象类型),我应该怎么传递? 一  先看解决方案: ajax <script> var data={ " ...

  8. MT【32】内外圆(Apollonius Circle)的几何证明

    另一方面,如果 M 满足(1)式,那么M必然在以PQ为直径的圆上.事实上当M为P或者Q时,这是显然的.当M异于P,Q时,由$\frac{|MB|}{|MC|}=\frac{|PB|}{|PC|}=\l ...

  9. 【BZOJ4821】[SDOI2017]相关分析(线段树)

    [BZOJ4821][SDOI2017]相关分析(线段树) 题面 BZOJ 洛谷 题解 看看询问要求的东西是什么.把所有的括号拆开,不难发现要求的就是\(\sum x,\sum y,\sum xy,\ ...

  10. 有屏幕的地方就有BadApple!!

    Bad Apple!! MV仅由黑白两色组成,如此高的对比度致使它可以在非常廉价由单片机驱动的屏幕上播放,所以,就有了“有屏幕的地方就有Bad Apple!” 原MV链接,没有看过的同学先看一眼吧—— ...