首页 > SWFTools PDF转换为SWF

SWFTools PDF转换为SWF

前言

 在iText 制作PDF这篇博文中只是简单的介绍了如何制作PDF,为了能让PDF在Web页面中显示,我还需要通过SWFTools工具将PDF文件转换为SWF文件,然后通过SWF文件显示在Web网页中,本次主要是实践SWFTools工具的简单使用,可以在http://www.swftools.org/download.html网页中下载工具,并安装。但是要注意下载的版本,我是在Win7系统下开发的,所以安装的工具就是如下图所示

安装完成后会生成pdf2swf.exe。并预先在PDF文件夹添加一个文件。

,此PDF文件也是由上节中生成的。 

 

第一步

   我先是创建了一个WinForm窗体应用程序,然后在配置文件中配置了两个路径,一个是PDF文件路径,另外一个是生成的SWF文件的路径

App.Config配置文件代码




第二步

需要在PDF文件夹下进行寻找PDF文件

        //扫描PDF文件private string SearchPdf(){string pdfFile = "";string pdfPath = AppConfiguration.PdfPath;if (!Directory.Exists(pdfPath)){Directory.CreateDirectory(pdfPath);}string[] files = Directory.GetFiles(pdfPath);for (int i = 0; i < files.Length; i++){if (files[i].EndsWith(".pdf")){pdfFile = files[i];break;}}return pdfFile;}

  先是取到配置文件的PDF文件夹,如果没有此文件夹,则需要创建一个,然后进行查找该文件夹下的PDF类型的文件。

第三步

根据PDF文件夹,来查找或者生成相应的SWF文件夹

        //获取SWF存放目录private string GetSavePathFromName(string pdfFile){string swfBasePath = AppConfiguration.SwfPath;string swfPath = swfBasePath + pdfFile.Split('\').Last().Replace(".pdf", "") + "\";if (!Directory.Exists(swfPath)){Directory.CreateDirectory(swfPath);}return swfPath;}

第四步

  执行将PDF文件通过pdf2swf.exe生成SWF文件。

        private void Execute(string cmd, string args){using (Process p = new Process()){p.StartInfo.FileName = cmd;p.StartInfo.Arguments = args;p.StartInfo.UseShellExecute = false;//此类提供的标准output流只有2k,不要重定向p.StartInfo.RedirectStandardOutput = false;p.StartInfo.CreateNoWindow = true;p.Start();p.PriorityClass = ProcessPriorityClass.Normal;p.WaitForExit();}}

  

            string cmd = "pdf2swf.exe";string args = "  -t "" + pdfFile + ""  -o "" + savePath + pdfFile.Split('\').Last().Replace(".pdf", "")+ "%.swf" -s drawonlyshapes -s flashversion=9";Execute(cmd, args);

  那么执行后在相应的文件夹中生成文件如下。

到此简单的将PDF文件转换为SWF文件就成功了。

当然海域很重要的一步就是如何调用pdf2swf.exe文件,这里我是将此文件与winform的exe文件放在同一个目录下进行调用的。

  

 

示例代码  

转载于:https://www.cnblogs.com/aehyok/archive/2013/04/05/3000431.html

更多相关:

  • 本文来自 运维人生 ,作者:fly是个稻草人链接:http://www.ywadmin.com/?id=76误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~说在前面的话针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收...

  • 原文来自SecIN社区—作者:WiHat0x00 什么是WebShell渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权限,而...

  • 断电时文件系统发生了什么?硬盘又发生了什么?下一次开机时写到一半的文件在系统层面还在吗?在底层还在吗?更进一步的, 文件系统如何保证事务性, 会不会存在某种极端情况导致例如最后几个bit还没写完, 文件系统却认为它成功了的情况?回答不限任何文件系统,谢谢!下面是「北极」的回复分享断电的一瞬间,很多事情是无法确定的:1. 你无法确定...

  • 接到项目需求。需要搭建一个页面进行交互,慢慢来b (2).jpg使用python django框架进行页面的搭建在项目文件下打开窗口,输入命令;django-admin startproject helloword#在文件helloword/helloword/创建view.py在view.py文件中输入以代码from django....

  • 常见的错误集合解决方案(一)No.1提示错误'Microsoft.VC90.CRT,version="9.0.21022.8"把Microsoft.NET Framework 3.5.1下面的全部勾选上。No.2解决Qt Designer设计的图标但是VS生成不显示问题描述:在Qt designer中为菜单栏和工具栏设计的图标,但是...

  • 管理和操作PDF的工具。PDF Desktop Converter 4 Professional可以生成,转换,提取,组合,分割合并PDF。新增加的OCR功能可以将扫描后的文件转变成可以检索和编辑的PDF。以上这些功能只需要一个软件就可以全部实现。软件特点1. 快速,准确,简单的生成PDF。 * Add-in按钮 -从Microso...

  • 上次给公司的市场研究汇编投稿,只写了一个PPT格式的《WCF邮件通信系统》,编辑把它整理成了PDF格式的内容,感觉很好,所以我把PDF原文中的有关内容存储成了图片,发表在这里,庆贺一下。 PDF原文地址: http://www.hisun139.com/forum.php?mod=viewthread&tid=267&extra=pa...

  • PDF 文档的规范性使得浏览者在阅读上方便了许多,但倘若要从里面提取些资料,实在是麻烦的可以。回忆起当初做毕业设计时规定的英文翻译,痛苦的要命,竟然傻到 用Print Screen截取画面到画图板,再回粘到word中,够白了:(最近连做几份商务标书,从Honeywell本部获取的业绩资料全部是英文版的PDF,为 了不再被折磨,花费...

  • importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.SecretKeyFactory;importjavax.crypto.spec.DESKeySpec;//结果与DES算...

  • 题目:替换空格 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 解题: 时间复杂度:O(n) 空间复杂度:O(n) class Solution { public:s...

  • 在C++11标准库中,string.h已经添加了to_string方法,方便从其他类型(如整形)快速转换成字面值。 例如: for (size_t i = 0; i < texArrSize; i++)RTX_Shader.SetInt(string("TexArr[") + to_string(i) + "]", 7 + i);...

  • Ubuntu 14.04安装并升级之后,变成楷体字体非常难看,我昨天搞了一晚上,终于理了个头绪,这里整理一下。 经过网上调研,大家的一致看法是,使用开源字体库文泉驿的微黑字体效果比较理想,甚至效果不输windows平台的雅黑字体。下面我打算微黑来美化Ubuntu 14.04. 1.安装文泉驿微黑字体库 sudo aptitude...

  • 使用string时发现了一些坑。 我们知道stl 容器并不是线程安全的,所以在使用它们的过程中往往需要一些同步机制来保证并发场景下的同步更新。 应该踩的坑还是一个不拉的踩了进去,所以还是记录一下吧。 string作为一个容器,随着我们的append 或者 针对string的+ 操作都会让string内部的数据域动态增加,而动态增加的...