当前位置: 首页 > news >正文

利用print2flashsetup.exe文档转swf

通过使用Print2Flash您可以轻松的将您的文档转换成真正的Adobe Flash格式,最好的保证您的内容将实际可见,与其他格式相比,它并不存在查看工具的安装问题。

Print2Flash中有一个Interop.Print2Flash3.dll

准备工作:

image

1:先安装print2flashsetup.exe并启动windows服务。

2:确定电脑安装了Microsoft Office 软件。

3:创建项目并添加引用Interop.Print2Flash3.dll,如上图。

4:还需要安装flash播放器。

编写代码:

以下代码在w732系统下验证成功。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
using System.Collections;

namespace PdfToSwf
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList alist = new ArrayList();
            alist.Add("temp_pdf.pdf");
            alist.Add("temp_ppt.ppt");
            alist.Add("temp_pptx.pptx");
            alist.Add("temp_doc.doc");
            alist.Add("temp_docx.docx");
            alist.Add("temp_xls.xls");
            alist.Add("temp_xlsx.xlsx");


            for (int i = 0; i < alist.Count; i++)
            {
                try
                {
                    string pdfFilePath = alist[i].ToString();
                    FileInfo pdfFi = new FileInfo(pdfFilePath);
                    string filepath = pdfFi.FullName;

                    Console.WriteLine("正在转换" + pdfFilePath + "文件...");
                    Print2Falsh(filepath);

                }
                catch (Exception ex)
                {
                    Console.WriteLine("error:" + ex.Message);
                }
            }
            Console.ReadKey();
        }


        public static string Print2Falsh(string SourceFileName)
        {

            string url = string.Empty;
            //在当前文件目录下生成一个同文件名的swf文件。
            string filename = Path.GetFileNameWithoutExtension(SourceFileName).ToLower();
            string imageDirectoryPath = Path.GetDirectoryName(SourceFileName);
            string OutputFileName = imageDirectoryPath + "/" + filename + ".swf";

            int interfaceOptions = (int)(Print2Flash3.INTERFACE_OPTION.INTDRAG | Print2Flash3.INTERFACE_OPTION.INTSELTEXT |
                Print2Flash3.INTERFACE_OPTION.INTROTATE | Print2Flash3.INTERFACE_OPTION.INTNEWWIND | Print2Flash3.INTERFACE_OPTION.INTBACKBUTTON |
                Print2Flash3.INTERFACE_OPTION.INTFORWARDBUTTON | Print2Flash3.INTERFACE_OPTION.INTFULLSCREEN |
                Print2Flash3.INTERFACE_OPTION.INTPRINT | Print2Flash3.INTERFACE_OPTION.INTSEARCHBOX |
                Print2Flash3.INTERFACE_OPTION.INTSEARCHBUT | Print2Flash3.INTERFACE_OPTION.INTFITWIDTH |
                Print2Flash3.INTERFACE_OPTION.INTFITPAGE | Print2Flash3.INTERFACE_OPTION.INTZOOMSLIDER |
                Print2Flash3.INTERFACE_OPTION.INTZOOMBOX | Print2Flash3.INTERFACE_OPTION.INTPREVPAGE |
                Print2Flash3.INTERFACE_OPTION.INTGOTOPAGE | Print2Flash3.INTERFACE_OPTION.INTNEXTPAGE);

            Print2Flash3.Server2 p2fServer = new Print2Flash3.Server2();
            p2fServer.DefaultProfile.InterfaceOptions = interfaceOptions;
            p2fServer.DefaultProfile.ProtectionOptions = (int)Print2Flash3.PROTECTION_OPTION.PROTENAPI;
            p2fServer.ConvertFile(SourceFileName, OutputFileName, null, null, null);

            url = OutputFileName;

            return url;
        }
    }
}
 

获取源码:

http://download.csdn.net/detail/luomingui/9170879

相关文章:

  • poj 3254 Corn Fields 国家压缩dp
  • [实战]MVC5+EF6+MySql企业网盘实战(5)——登录界面,头像等比例压缩
  • [转]Java输入输出流的使用详细介绍
  • 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数005·graphics-obj,基本绘图单元,包括线段、矩形、椭圆、圆形...
  • iOS app无launch screen.xib 对各个版本进行适配
  • iOS tintColor解析
  • 19/10/2015 晴 十点
  • GitHub Config文件中[user] [remote origin]的配置
  • Java Web 登录采用非对称加密(RSA算法)
  • DAG 的最短路径算法
  • 推荐一个c++小巧开源且跨平台的图像解码库
  • WDS+MDT部署Windows7操作系统2—;导入启动映像和安装映像
  • 机器学习之一:初认识
  • 10月Web服务器份额:排名不变 仅Apache份额下降
  • AndroidVideoPlayer在线播放视频
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • java 多线程基础, 我觉得还是有必要看看的
  • JavaScript服务器推送技术之 WebSocket
  • java多线程
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • js作用域和this的理解
  • Node + FFmpeg 实现Canvas动画导出视频
  • React-Native - 收藏集 - 掘金
  • 分布式事物理论与实践
  • 基于组件的设计工作流与界面抽象
  • 排序算法学习笔记
  • 物联网链路协议
  • 延迟脚本的方式
  • 用Python写一份独特的元宵节祝福
  • 与 ConTeXt MkIV 官方文档的接驳
  • 白色的风信子
  • # Java NIO(一)FileChannel
  • #FPGA(基础知识)
  • #Java第九次作业--输入输出流和文件操作
  • ${factoryList }后面有空格不影响
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (rabbitmq的高级特性)消息可靠性
  • (二十三)Flask之高频面试点
  • (四) 虚拟摄像头vivi体验
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net mvc部分视图
  • .net Signalr 使用笔记
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .net网站发布-允许更新此预编译站点
  • @ResponseBody
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [ linux ] linux 命令英文全称及解释
  • [AIGC] Java 和 Kotlin 的区别
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [BJDCTF 2020]easy_md5