C# print2flash3文件转化

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>
时间: 2024-10-28 20:43:32

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

16进制文件转化对比

做通讯项目的时候,经常要进行数据收发校验.发送端的数据通过复杂的通讯系统(例如OFDM系统),依次进行交织.编码(LDPC).映射.IFFT.串并转换……等等,达到接收端,我们只有通过反复的对比才能验证流程的正确性.因为数据的收发都是比特流,所以经常使用16或者二进制文件进行比较. 很多调试工具都支持数据导出,由于某些原因他们支持的导出格式各不相同.例如:code composer studio支持比较全面,但是NIOS II  IDE数据格式只支持16进制导出,quarutus ii等支持也各

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

本文将介绍ListView和Inflater的使用,将接上一篇文章内容. 一.什么是ListView? 在android开发中ListView是比较常用的控件,ListView 控件可使用四种不同视图显示项目,1.大(标准)图标2.小图标3.列表4.报表,比较常用的是列表的形式.ListItem 对象可包含文本和图片.然而,若要使用图片则必须通过 Icons 和 SmallIcons 属性引用 ImageList控件. 本文将接着上一篇文章,将sqlite数据库的数据以列表的形式显示出来. 二.

使用vmware-vdiskmanager.exe将多个vmdk文件转化成一个vmdk文件

在某些应用场合中需要将多个vmdk文件转化成一个vmdk文件. DOS命令终端执行可执行文件E:\Program Files\VMware Workstation>vmware-vdiskmanager.exe,其中E:\Program Files\VMware Workstation为VM的安装路径 vmware-vdiskmanager.exe的常用参数如下所示 E:\Program Files\VMware Workstation>vmware-vdiskmanager.exe VMwa

C#针对xml文件转化Dictionary的方法

本文实例讲述了C#针对xml文件转化Dictionary的方法.分享给大家供大家参考.具体实现方法如下: 下面是xml文件: 代码如下: <?xml version="1.0″ encoding="utf-8″ ?> <nodes> <国土局> <name>市局国土资源局</name> <code>330</code> <受理 telephone="88205156″>萍,倩<

自定义类库:Java转换xml文件转化pojo工具

一.之前java读取xml配置文件时,总是通过dom4j第三方库主动解析,最近发现可以通过jdk类库将xml转换pojo. 二.编写xml转化工具类XmlUtils package com.moy.demo.common.utils; import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; import java.io.InputStream; import java.io.Reader; import jav

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

在项目开发中,使用SQL Server存储数据,数据类型image可以保存图片.但是在存储之前需要将图片转化为二进制数组的形式进行赋值. 将图片文件转换为二进制数组 /// <summary> /// 将图片文件转换为二进制数组 /// </summary> /// <param name=”picpath”>图片路径</param> /// <returns>二进制数组</returns> private byte[] GetBin

ftp下载文件转化为输入流

/** * 取上传完整文件路径 * @param dir ftp定义的存储路径 例如 /jdyjs/jdyjs * @param filename上传的文件名 * @return * @throws Exception */ public static String getUploadFilePath(String dir, String filename) { byte[] bytes = null; Ydzf_UploadPdf ydzf_UploadPdf = new Ydzf_Uploa

Xml文件转化为对象,对象转化为Xml

Stream用来将xml转化为对象,或则将对象转化为xml,xml与Json的转化也可以借助它 首先下载jar包: xstream-XXX.jar xpp3-XXX.jar 可以点击这里下载http://download.csdn.net/detail/mejustdoit/8901831 关于转换最主要的就是两个 新建Stream对象 XStream xstream = new XStream();或 XStream xstream = new XStream(new DomDriver())

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

我使用思维导图做学习笔记,最终绘制了一张比较满意的思维导图,想要分享出去,但由于现在思维导图软件众多,成品文件格式差别蛮大,不利于传播和打开,所以需要转化为普通图片,但笔者使用的导图软件导出转化成的图片清晰度简直没法看,而且涉及很多收费限制,需要自己另外想办法. 于是我有了下面的历程.... 一句话总之  思维导图产品转字或PPT文档再转PDF文档再利用Photoshop的软件自行把PDF转化成自己需要的像素的图片 但我无意间发现了一个小秘密 我忽然发现自己是个傻逼,直接把文件ctrl + a