C#、ASP.NET 将PDF转换成Swf
1、本文通过pdf2swf来将PDF转成SWF(参数说明转自:http://hi.baidu.com/abpsoft/item/1d1eb0f50c9d1fd86225d2c0)
官方地址:http://www.swftools.org/download.html
下载
swftools-2010-02-06-1900.exe
swftools-2010-02-06-1900.rar
命令行参数可以通过pdf2swf -f得到:
* -h , –help Print short help message and exit 打印帮助信息
* -V , –version Print version info and exit 打印版本号
* -o , –output file.swf Direct output to file.swf. If file.swf contains ‘13568621′ (file13568630.swf), then each page指定输出的swf文件名
* -p , –pages range Convert only pages in range with range e.g. 1-20
or 1,4,6,9-11 or
指定转换的页面范围,使用的页码描述方法与打印机打印文件时候的选页一样
* -P , –password password Use password for deciphering the pdf.指定打开pdf的密码
* -v , –verbose Be verbose. Use more than one -v for greater effect.转换时输出详细的内容
* -z , –zlib Use Flash 6 (MX) zlib compression.使用Flash 6的zlib压缩机制
* -i , –ignore Allows pdf2swf to change the draw order of the pdf. This may make the generated允许程序修改pdf的绘制顺序,可能会导致结果与原来有差异
* -j , –jpegquality quality Set quality of embedded jpeg pictures to quality. 0 is worst (small), 100 is best (big). (default:85)设置转换其中的jpeg图片的质量,从0到100,默认值是85。
* -s , –set param=value Set a SWF encoder specific parameter. See pdf2swf -s help for more information. 设置SWF转码时候的参数,具体参数可以用pdf2swf -s help获取
* -w , –samewindow When converting pdf hyperlinks, don’t make the links open a new window. 设置转换后的swf打开原pdf中的连接时使用相同的窗口
* -t , –stop Insert a stop() command in each page. 在每页结尾添加一个stop()命令
* -T , –flashversion num Set Flash Version in the SWF header to num. 设置SWF所使用的flash版本号
* -F , –fontdir directory Add directory to the font search path. 指定字体文件所在路径
* -b , –defaultviewer Link a standard viewer to the swf file. 指定默认的swf导航文件,用来翻页、放大缩小等等
* -l , –defaultloader Link a standard preloader to the swf file which will be displayed while the main swf is loading. 指定默认的swf加载文件,用来显示加载进程效果
* -B , –viewer filename Link viewer filename to the swf file. 指定swf导航文件,作用同-b
* -L , –preloader filename Link preloader filename to the swf file. 指定swf加载文件,作用同-l
* -q , –quiet Suppress normal messages. Use -qq to suppress warnings, also. 不打印普通信息,用-qq就不打印警告信息。
* -S , –shapes Don’t use SWF Fonts, but store everything as shape. 不使用字体,所有都转为形状。
* -f , –fonts Store full fonts in SWF. (Don’t reduce to used characters). 在swf中保存全部字体。
* -G , –flatten Remove as many clip layers from file as possible. 在文件中尽量去除影片层,合并它们
* -I , –info Don’t do actual conversion, just display a list of all pages in the PDF. 不做实际转换,仅显示PDF的信息。
* -Q , –maxtime n Abort conversion after n seconds. Only available on Unix. 如果运行时间超时则退出。
然后看看-s都可以设置些什么:
PDF Parameters:
PDF device global parameters:
fontdir= a directory with additional fonts 指定字体目录, 与1级参数的-F相若
font= an additional font filename 增加额外的字体文件
pages= the range of pages to convert (example: pages=1-100,210-) 指定页面范围,与1级参数的-p相若
zoom= the resolution (default: 72) 指定分辨率,默认为72dpi
languagedir= Add an xpdf language directory 增加一个xpdf的语言目录,对非西欧字符有用
multiply= Render everything at the resolution 在几倍分辨率下渲染
poly2bitmap Convert graphics to bitmaps 把其中的图形转成点阵
bitmap Convert everything to bitmaps 把所有内容转成点阵(包括字体)
SWF Parameters:
SWF layer options:
jpegsubpixels=<pixels> resolution adjustment for jpeg images (same as jpegdpi, but in pixels) jpeg图片的分辨率
ppmsubpixels=<pixels> resolution adjustment for lossless images (same asppmdpi, but in pixels) 无损图片的分辨率
subpixels=<pixels> shortcut for setting both jpegsubpixels and ppmsubpixels 快速设置上两个参数
drawonlyshapes convert everything to shapes (currently broken) 所有都转成图形
ignoredraworder allow to perform a few optimizations for creating smaller SWFs 允许执行一些小优化
linksopennewwindow make links open a new browser window 链接打开新窗口
linktarget target window name of new links 新链接窗口的名称
linkcolor=<color) color of links (format: RRGGBBAA) 链接的颜色
linknameurl Link buttons will be named like the URL they refer to (handy for iterating through links with actionscript) 链接名称与链接URL一致
storeallcharacters don’t reduce the fonts to used characters in the output file 保存所有的字符字体
enablezlib switch on zlib compression (also done if flashversion>=7) 使用zlib压缩
bboxvars store the bounding box of the SWF file in actionscript variables 在as中保存swf的区域大小
dots Take care to handle dots correctly 保存单点显示
reordertags=0/1 (default: 1) perform some tag optimizations 执行某些tag优化
internallinkfunction=<name> when the user clicks a internal link (to a different page) in the converted file, this actionscript function is called 内部链接函数,如果点击一个内部链接,将调用该actionscript函数
externallinkfunction=<name> when the user clicks an external link (e.g. http://www.foo.bar/) on the converted file, this actionscript function is called 外部链接函数,如果点击一个外部链接,将调用该actionscript函数
disable_polygon_conversion never convert strokes to polygons (will remove capstyles and joint styles) 不要将笔画转成多边形
caplinewidth=<width> the minimum thichness a line needs to have so that capstyles become visible (and are converted) 线条最低转换宽度,比这个细的线条将不转换
insertstop put an ActionScript “STOP” tag in every frame 在swf的每个桢中添加stop()函数
protect add a “protect” tag to the file, to prevent loadingin the Flash editor 增加protect标签,禁止在flash中加载该swf
flashversion=<version> the SWF fileversion (6) 设置最低swf版本
framerate=<fps> SWF framerate 设置桢率
minlinewidth=<width> convert horizontal/vertical boxes smaller than thiswidth to lines (0.05)将宽度少于某值的矩形转成线条
simpleviewer Add next/previous buttons to the SWF 使用简单的导航
animate insert a showframe tag after each placeobject (animate draw order of PDF files) ???
jpegquality=<quality> set compression quality of jpeg images 设置jpeg的压缩质量
splinequality=<value> Set the quality of spline convertion to value (0-100, default: 100). 设置样条曲线的转换质量
disablelinks Disable links. 禁止链接
using System.Diagnostics;
using System.Text;
using System.Text.RegularExpressions;public static class Psd2SwfHelper
{//pwf2swf 安装目录private const string Pdf2Swfexe = @"D:\Program Files\SWFTools\pdf2swf.exe";/// <summary>/// 转换所有的页,图片质量80%/// </summary>/// <param name="pdfPath">PDF文件地址</param>/// <param name="swfPath">生成后的SWF文件地址</param>public static bool Pdf2Swf(string pdfPath, string swfPath){return Pdf2Swf(pdfPath, swfPath, 1, GetPageCount(pdfPath), 80);}/// <summary>/// PDF格式转为SWF/// </summary>/// <param name="pdfPath">PDF文件地址</param>/// <param name="swfPath">生成后的SWF文件地址</param>/// <param name="beginpage">转换开始页</param>/// <param name="endpage">转换结束页</param>/// <param name="photoQuality"></param>private static bool Pdf2Swf(string pdfPath, string swfPath, int beginpage, int endpage, int photoQuality){if (!System.IO.File.Exists(Pdf2Swfexe) ||!System.IO.File.Exists(pdfPath) ||System.IO.File.Exists(swfPath)){return false;}//执行的命令参数StringBuilder command = new StringBuilder();command.AppendFormat(" \"{0}\"", pdfPath);command.AppendFormat(" -o \"{0}\"", swfPath);command.Append(" -s flashversion=9");command.AppendFormat(" -p \"{0}-{1}\"", beginpage, endpage);command.AppendFormat(" -j {0}", photoQuality);Process p = new Process{StartInfo ={FileName = Pdf2Swfexe,Arguments = command.ToString(),UseShellExecute = false,RedirectStandardError = true,CreateNoWindow = false}};p.Start();p.BeginErrorReadLine();p.WaitForExit();p.Close();p.Dispose();return true;}/// <summary>/// 取PDF总页数/// </summary>/// <param name="pdfPath">PDF文件地址</param>private static int GetPageCount(string pdfPath){byte[] buffer = System.IO.File.ReadAllBytes(pdfPath);if (buffer.Length <= 0){return -1;}string pdfText = Encoding.Default.GetString(buffer);Regex rx1 = new Regex(@"/Type\s*/Page[^s]");MatchCollection matches = rx1.Matches(pdfText);return matches.Count;}
}
namespace ConsoleApplication2
{class Program{static void Main(string[] args){string pdfPath = @"d:/1.pdf";string swfPath = @"d:/1.swf";Psd2SwfHelper.Pdf2Swf(pdfPath, swfPath);}}}
C#、ASP.NET 将PDF转换成Swf相关推荐
- 利用SWFTools工具将pdf转换成swf
package com.iori.webapp.util; import java.io.BufferedReader; import java.io.IOException; import java ...
- 如何将PDF转换成SWF
文章出处: http://tw.myblog.yahoo.com/loveyuntw/article?mid=15&prev=22&next=14 今天有同学问我,如何将PDF转换成S ...
- 利用pdf2swf将PDF转换成SWF
将PDF转换成SWF可以使用SWFTools工具中的pdf2swf(http://www.swftools.org/), CSDN快速免积分下载地址http://download.csdn.net/d ...
- java将office文档,word,ppt,pdf文档转换成swf文件在线预览
java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux ...
- java将office文档pdf文档转换成swf文件在线预览
第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux,solaris等操作系统上执行. 主要模块有writer(文 ...
- word文档转换成swf格式文件在网页中用flash显示
word文档转换成swf格式文件在网页中用flash显示 在OA系统中我们常常需要将上传的word文档在网页中阅览,一般上传后的文档用html的形式查看是会导致排版混乱的,这次我介绍在ASP.NET中 ...
- 把word文档转换成swf格式
把word文档转换成swf格式 以前介绍过如何把PPT转换成swf格式,见 方法一 方法二:,也介绍过如何把word转换成pdf格式:点击查看,今天介绍如何把word文档转换成swf文件. 使用swf ...
- swftools将PDF转成swf (含中文的pdf注意事项)
1. 下载swftools:http://www.swftools.org/download.html 下载xpdf xpdf-chinese-simplified 2 . 安装swftools 解压 ...
- flex开发的仿pdf阅读器(swftools将PDF转成swf)
SWFTools 是一组用来处理 Flash 的 swf 文件的工具包,包括: 1. 合并工具 swfcombine 2. 抽取工具 swfextract 3. PDF/JPEG/PNG/AVI/TT ...
- 纯java pdf转换成html,java pdf转换html代码
java pdf转换html代码 [2021-02-03 00:56:42] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...
最新文章
- 服务器物理内存高,服务器的物理内存高
- linux下多进程编程简介
- 训练自己haar-like特征分类器并识别物体(1)
- 技术系列课回顾 | 浅谈 Serverless 开发和应用
- Error during job, obtaining debugging information... FAILED: Execution Error, return code 2 from org
- 拦截器 过滤器 监听器 的区别
- SpringBoot热部署环境搭建和原理分析
- 诡异的问题“该字符串未被识别为有效的 DateTime”
- 在Edge浏览器中设置编码方式
- 企业wifi认证登录靠谱吗
- MindSpore新工具TinyMS体验
- web页面:窗口切换
- Android TextView自动调整字体大小(官方)
- 访问Servlet的几种方式
- python疲劳检测代码_【君奉天|开发日记】疲劳驾驶检测
- php opcahe的弊端
- oracle dba 有哪些权限,Oracle DBA应知应会 -- 权限管理
- 数字水印_最低有效位算法
- 轻量级 Linux 发行版CRUX 发布 3.4 版
- python网页信息违法吗_爬虫到底违法吗?这位爬虫工程师给出了答案