1.下载print2flash3 并且安装print2flash3

2.转换工具类

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

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.HtmlControls;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.WebControls.WebParts;
  11. using System.Xml.Linq;
  12. using Print2Flash3;
  13. using System.IO;
  14. using System.Collections.Generic;
  15.  
  16. namespace WebThreadTest
  17. {
  18. public class FileConvertSwf
  19. {
  20. //保存所有文件名
  21. private static List<string> fileList;
  22.  
  23. //可以打印的文件格式
  24. private List<string> printFileFormat = new List<string>() { ".doc", ".docx", ".xlsx", ".xls", ".ppt" };
  25.  
  26. public FileConvertSwf()
  27. {
  28. fileList = new List<string>();
  29. }
  30.  
  31. /// <summary>
  32. /// 将文件转化为swf文件
  33. /// 将swf文件保存到当前目录下
  34. /// </summary>
  35. /// <param name="filePath">原文件路径</param>
  36. public void ConvertToSwf(string filename)
  37. {
  38. //获取文件后缀名
  39. string fileExtension = Path.GetExtension(filename);
  40.  
  41. //是否可以打印
  42. if (fileExtension != null && printFileFormat.Contains(fileExtension.ToLower()))
  43. {
  44.  
  45. int extensionIndex = filename.LastIndexOf(fileExtension);
  46.  
  47. //获取文件前缀名
  48. string fileBeforeExtension = filename.Remove(extensionIndex);
  49.  
  50. //swf文件名
  51. string targetFilename = fileBeforeExtension + ".swf";
  52.  
  53. FileInfo file = new FileInfo(targetFilename);
  54.  
  55. //不存在才转化
  56. if (!file.Exists)
  57. {
  58. //使用Print2Flash3服务
  59. IServer server = new Server();
  60.  
  61. //设置默认打印机
  62. server.SetP2FPrinterAsDefault();
  63.  
  64. //文件转化
  65. server.ConvertFile(@filename, @targetFilename, null, null, null);
  66. }
  67. }
  68.  
  69. }
  70.  
  71. /// <summary>
  72. /// 获取某个目录下的所有文件及子目录下的所有文件
  73. /// </summary>
  74. /// <param name="dirPath">目录路径</param>
  75. public void GetFilename(string dirPath)
  76. {
  77. //当前目录
  78. DirectoryInfo dir = new DirectoryInfo(dirPath);
  79.  
  80. //当前目录下的所有文件
  81. FileInfo[] files = dir.GetFiles();
  82.  
  83. foreach (var f in files)
  84. {
  85. //保存到文件名集合中
  86. fileList.Add(f.FullName);
  87.  
  88. //文件转换
  89. ConvertToSwf(f.FullName);
  90. }
  91.  
  92. //获取当前目录下的子目录下的所有文件
  93. DirectoryInfo[] dirs = dir.GetDirectories();
  94.  
  95. foreach (var d in dirs)
  96. {
  97. //递归获取文件名
  98. GetFilename(d.FullName);
  99. }
  100. }
  101.  
  102. public List<string> GetFileNameList()
  103. {
  104. return fileList;
  105. }
  106.  
  107. }
  108. }

3.测试代码

  1. using System;
  2. using System.Collections;
  3. using System.Configuration;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Security;
  8. using System.Web.UI;
  9. using System.Web.UI.HtmlControls;
  10. using System.Web.UI.WebControls;
  11. using System.Web.UI.WebControls.WebParts;
  12. using System.Xml.Linq;
  13. using System.Collections.Generic;
  14.  
  15. namespace WebThreadTest
  16. {
  17. public partial class testGetFile : System.Web.UI.Page
  18. {
  19. protected void Page_Load(object sender, EventArgs e)
  20. {
  21. if (!IsPostBack)
  22. {
  23. string dirPath = Server.MapPath(@"/resource/UploadedFiles");
  24. FileConvertSwf fcSwf = new FileConvertSwf();
  25. fcSwf.GetFilename(dirPath);
  26. List<string> fileList = fcSwf.GetFileNameList();
  27.  
  28. foreach (var f in fileList)
  29. {
  30. Response.Write(f);
  31. Response.Write("<br />");
  32. }
  33. }
  34. }
  35. }
  36. }

4.html页面显示swf格式

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="convertFileTest.aspx.cs" Inherits="WebThreadTest.print2flash.demo.convertFileTest" %>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" >
  6. <head runat="server">
  7. <title>无标题页</title>
  8. </head>
  9. <body>
  10. <form id="form1" runat="server">
  11. <div>
  12.  
  13. <object id="forfun" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="1000" height="600">
  14. <param name="movie" value="/resource/ConvertedFiles/target.swf">
  15. <param name="quality" value="high">
  16. <param name="bgcolor" value="#F0F0F0">
  17. <param name="menu" value="false">
  18. <param name="wmode" value="opaque">
  19. <param name="FlashVars" value="">
  20. <param name="allowScriptAccess" value="sameDomain">
  21. <embed id="forfunex" src="/resource/ConvertedFiles/target.swf"
  22. width="1000"
  23. height="600"
  24. align="middle"
  25. quality="high"
  26. bgcolor="#f0fff8"
  27. menu="false"
  28. play="true"
  29. loop="false"
  30. FlashVars=""
  31. allowScriptAccess="sameDomain"
  32. type="application/x-shockwave-flash"
  33. pluginspage="http://www.adobe.com/go/getflashplayer">
  34. </embed>
  35. </object>
  36. </div>
  37. </form>
  38. </body>
  39. </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 授权

    1.“包装”意思是一个已经存在的对象进行包装,不管他是数据类型还是一段代码,可以是对一个已经存在的对象增加新的,删除不要的或者修改其他已经存在的功能 2.包装 包括定义一个类,他的实例拥有标准类型的核 ...

  2. python下划线

    单下划线(_) 通常情况下,会在以下3种场景中使用: 1.在解释器中:在这种情况下,“_”代表交互式解释器会话中上一条执行的语句的结果.这种用法首先被标准CPython解释器采用,然后其他类型的解释器 ...

  3. Java MD5Util

    package util; import java.security.MessageDigest; public class MD5Util {  public static String strin ...

  4. Windows 下vim的配置文件_vimrc

    set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin set ...

  5. bzoj 2120 数颜色 (带修莫队)

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2120 题意:两种操作:Q 询问区间  l - r  内颜色的种类 ,R 单点修改 思路 ...

  6. 本地Git与GitHub服务器建立连接(SSH方式通信)

    简介 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要 ...

  7. Android Fragment和FragmentActivity区别和用法

    Android Fragment是Android4.0以上才有的:而FragmentActivity是为了兼容4.0以下版本的Fragment使用的. 所以如果你想兼容4.0以下Android版本使用 ...

  8. shell一些不为人知的技巧

    !$!$是一个特殊的环境变量,它代表了上一个命令的最后一个字符串.如:你可能会这样:$mkdir mydir$mv mydir yourdir$cd yourdir可以改成:$mkdir mydir$ ...

  9. js的append拼接html丢失css样式解决

    htmlApp += "<li id='leftli"+lunci+"'>"; htmlApp += "<span id='left ...

  10. JAVA中String.format()的使用

    String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.format()方法有两种重载形式:1.format(String format, Object... args) 新 ...