最近在web项目中要求上传并显示pdf文件,研究了一下,有多种方式。一种页面直接引入pdf文件,另外利用第三方插件显示。但是页面直接引入pdf文件需要安装解析插件,同时需要浏览器支持。经过测试决定采用比较成熟实用的object对象标签方式。
第一步:项目要求pdf文件不能下载,需要积分或在线付款。经过长时间研究测试,将pdf文件解析为swf文件,在objec标签中引入swf相对路径页面就可显示,不需要安装插件。
pdf转swf方法:
/// <summary>
/// PDF格式转为SWF
/// </summary>
/// <param name="pdfPath">PDF文件地址</param>
/// <param name="swfPath">生成后的SWF文件地址</param>
/// <param name="beginpage">转换开始页</param>
/// <param name="endpage">转换结束页</param>
private static bool PDF2SWF(string pdfPath, string swfPath, int beginpage, int endpage, int photoQuality, int count)
{
// 需要使用 pdf2swf.exe ;
string exe =“C:\\pdf\\pdf2swf.exe”;
if (!System.IO.File.Exists(exe) || !System.IO.File.Exists(pdfPath) || System.IO.File.Exists(swfPath))
{
return false;
}
StringBuilder sb = new StringBuilder();
sb.Append(" \"" + pdfPath + "\"");
sb.Append(" -o \"" + swf