把pdf文档转化为swf并显示

doc转swf,主流文档在线查看解决方案--类似百度文档功能 引言: 最近项目中对上传的文件需要在线查看功能(就是不用下载到本地,可以直接在网页里打开的查看),通过几周的研究终于搞定,在此总结下供有同样需求的同仁查询和使用。 原理: 通常的在线查看功能都是使用文档转换工具,把原始文档转换成swf文档,然后通过网页直接展示文档内容。 解决方案: 在前期技术研究的过程中,发现有三种解决方案,他们分别是: 1、使用 FlexP 阅读详情


   以前曾经写过一篇把office文档转化为pdf的文章,在web中大多数都是使用flash来查看文档或者其他东西,因为我们不可能都会安装adobe reader,可是flash player我们都会安装。因此使用flash的形式来查看文档还是比较常见的,如豆丁,百度文库等。

下面就说说怎么实现这一个功能吧。

1.下载swftools,并安装在自己的电脑上。我这里把swftools安装在G盘(G:\SWFTools),这一步应该都没什么问题。

2.使用命令把pdf文档转换为swf文件,写命令的时候要特别注意flash的版本问题,默认转换出来的是flash8版本,这里是不能用这个版本的,因为转换后的文档只有1页。

下面就来写一下这个转化程序。

package bao1;
import java.io.*;
public class Converter extends java.lang.Thread{ 

    public static int convertPDF2SWF(String sourcePath, String destPath, String fileName) throws IOException {   
        //目标路径不存在则建立目标路径   
         File dest = new File(destPath);   
        if (!dest.exists()) dest.mkdirs();   
           
        //源文件不存在则返回   
         File source = new File(sourcePath);   
        if (!source.exists()) return 0;   
           
        //调用pdf2swf命令进行转换   
        //调用pdf2swf命令进行转换  
       
        String command= "G:\\SWFTools\\pdf2swf"+" -t "+sourcePath+" -o "+destPath+fileName+" -s flashversion=9 ";   

        Process pro = Runtime.getRuntime().exec(command);   
      
         BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(pro.getInputStream()));   
        while (bufferedReader.readLine() != null);   
           
        try {   
             pro.waitFor();   
            // pro2.waitFor();
         } catch (InterruptedException e) {   
            // TODO Auto-generated catch block   
             e.printStackTrace();   
         }   
           
        return pro.exitValue();   
           
     }   
       
    
}  

   需要注意的是不能省略-t,-o,-s 左右的空格。看一下这个命令就知道为什么了

 

下面是显示文件的页面

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page language="java" import="java.io.File"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>显示所有的pdf文档</title>

<style type="text/css">
  #lb{
     list-style:none;
     line-height:50px;
     cursor:pointer;
  }
</style>
</head>
<body>
  <div id="msg">
   <% 
     String path=this.getServletContext().getRealPath("/document");
     File f=new File(path);
    String files[]=f.list();
     for(int i=0;i<files.length;i++)
     {
    	 %>
    	
    	  <li id="lb"><a href="show.jsp?mc=<%=files[i]%>"><%=files[i]%></a></li>
    	 <%
     }
   %>
   </div>
   
</body>
</html>


这个jsp用来把pdf文档转换成swf;

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page language="java" import="bao1.Converter,java.io.*"
	%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>处理</title>

		
</head>
<body>
	<%
		  String s = new String(request.getParameter("mc").getBytes("ISO8859-1"),"UTF-8");
		   
		  Converter.convertPDF2SWF(this.getServletContext().getRealPath("/") +"document"+java.io.File.separator+s,this.getServletContext().getRealPath("/"),"temp.swf");
			%>
			  <img src='../images/loading.gif'/>
			<%
		   response.setHeader("refresh","10;URL=xianshi.jsp");
			
			
			
	%>
	  
	
	
	 
</body>
</html>



最后写一个页面显示swf,这里就要使用flexpaper了,使用方法看看源码就知道了

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css" media="screen"> 
			html, body	{ height:100%; }
			body { margin:0; padding:0; overflow:auto; }   
			#flashContent { display:none; }
        </style> 
		
		<script type="text/javascript" src="../js/flexpaper_flash_debug.js"></script>
		<script type="text/javascript" src="../js/jquery.js"></script>
</head>
<body>
  <div style="position:absolute;left:10px;top:10px;">
	        <a id="viewerPlaceHolder" style="width:660px;height:480px;display:block"></a>
	        345
	        <script type="text/javascript"> 
	        
				var fp = new FlexPaperViewer(	
						 '../FlexPaperViewer',
						 'viewerPlaceHolder', { config : {
						 SwfFile : '../temp.swf',
						 Scale : 0.6, 
						 ZoomTransition : 'easeOut',
						 ZoomTime : 0.5,
						 ZoomInterval : 0.2,
						 FitPageOnLoad : false,
						 FitWidthOnLoad : false,
						 PrintEnabled : true,
						 FullScreenAsMaxWindow : false,
						 ProgressiveLoading : false,
						 MinZoomSize : 0.2,
						 MaxZoomSize : 5,
						 SearchMatchAll : false,
						 InitViewMode : 'Portrait',
						 
						 ViewModeToolsVisible : true,
						 ZoomToolsVisible : true,
						 NavToolsVisible : true,
						 CursorToolsVisible : true,
						 SearchToolsVisible : true,
  						
  						 localeChain: 'en_US'
						 }});
	        </script>  
        </div>
</body>
</html>

下面是显示结果,截图如下


需要注意的是,由于IE上可能有缓存,所以显示出来的文档可能不对。建议使用火狐浏览器查看。另外并不是每个pdf文档都可以转换成功的,这点需要注意。

如果有什么疑问可以找我,我的QQ是1214273312,加我要注明“csdn博客网友”。如果代码有错误或有什么疑问,请大家提出来一起讨论

另外源码在csdn上有,大家可以自己去下载。






        
PDF转SWF转换及显示技术指南 本文还有配套的精品资源,点击获取 简介:PDF文件因其格式的普及性和布局保持性在各领域广泛应用,然而SWF格式更适合网络上的多媒体内容传播,如动画和交互式应用程序。本文将介绍如何将PDF转换为SWF格式,并确保转换后的文档在网页上能够被快速加载和具有动态交互性。同时,我们会探讨转换过程中的关键技术和策略,包括选择合适的工具、保留原文件特性、提高转换效率、确保文件安全性和兼容... 阅读详情

相关推荐

PDF2SWFTool:批量PDF至SWF转换工具指南

本文还有配套的精品资源,点击获取 简介:PDF2SWFTool是一款专为批量处理PDF至SWF格式转换而设计的工具。它支持将PDF文档的文本、图像和布局高效地转换为SWF格式,适用于需要在网络上分享多媒体内容的场景。该工具具备用户友好的界面,并提供了源代码,方便开发者定制和扩展功能。转换过程中涉及PDF解析、图像渲染、文本排版和Flash动作脚本技术。尽管SWF在现代浏览器...

weixin_36299472的博客 1411

PDF如何转为SWF

1,安装SWFTOOLS这个工具 直接下一步安装即可注意安装的目录路径不能有空格 2,编写java代码 package com.sunjingyi.test; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamRead

herbacin 753

将pdf转换为swf在web页面中显示

利用FlashPaper将pdf转换为swf在使其能在web页面中显示,兼容各大浏览器 测试版本ie7+ 具体操作见博客 http://blog.youkuaiyun.com/qianqianyixiao1/article/details/43601645

如何将PDF转换成SWF

文章出处: http://tw.myblog.yahoo.com/loveyuntw/article?mid=15&amp;prev=22&amp;next=14今天有同学问我,如何将PDF转换成SWF, 以前我都没想过这个问题,而且没用过类似的软体, 后来我就以google搜寻,发现一个PDF转换成SWF的免费软体, 其下载网址如下: http://www.swftools.org/do...

入海数沙 419

pdf2swf将PDF转换成SWF

将PDF转换成SWF可以使用SWFTools工具中的pdf2swf(http://www.swftools.org/),1、首先下载安装,一直默认下一步即可。 2、java代码: import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; public class TestPdf2Swf { public static int convertPDF2SWF(String sourcePath, String destPath, String fileName) throws IOException { // 目标路径不存在则建立目标路径 File dest = new File(destPath); if (!dest.exists()) dest.mkdirs(); // 源文件不存在则返回 File source = new File(sourcePath); if (!source.exists()) return 0; // 调用pdf2swf命令进行转换 String command = "C:\\SWFTools\\pdf2swf.exe" + " " + sourcePath+ " -o " + destPath + fileName + " -f -T 9"; System.out.println(command); Process pro = Runtime.getRuntime().exec(command); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(pro.getInputStream())); while (bufferedReader.readLine() != null); try { pro.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); } return pro.exitValue(); } /** * @param args */ public static void main(String[] args) { String sourcePath = "D:\\springFramework.pdf"; //源文件路径 String destPath = "D:\\"; //目标路径 String fileName = "springFramework.swf"; //生成文件名 try { TestPdf2Swf.convertPDF2SWF(sourcePath, destPath, fileName); } catch (IOException e) { e.printStackTrace(); } } }

php版本 office文档(word,ppt,excel)转pdf转swf(加水印),实现在线预览

因为要做在线预览word文档 自己整合了一下转换的方法 写几点注意事项 可以实现word文档在线预览 可以加水印

百度文库在线预览 源码

利用openoffice转化文档成 pdf ,利用swftools 把pdf 转化成swf .最后用FlexPaperViewer显示swf。 var fileDir=document.getElementById("fileDir").value; var pageCount=document.getElementById("pageCount").value; ...

林一枫 1234

文档上传自动转换为PDF转为SWF并在线显示

主要演示了2个技术 演示地址:http://zq.cdivtc.com/mingapp/wordtoswf.aspx 1、PDF在线读取技术,主要目录有web、build 2、WORD、PDF、EXCEL、PPT转SWF并在线显示 (1)flexPaperViewer 在线显示swf (2)支持DLL(bin):asppose.words.dll(word)、tools目录下的pdf2swf、aspose.cells(excel)、Aspose.Slides.dll(ppt)、mingserver.dll(解决siteserver CMS wordplgun.dll冲突问题) (3)根目录下的mingserver.csproj、mingserver.csproj.user及本目录下的wordtoswf.aspx就是用来转PDF再转SWF的 其中wordtoswf.aspx是操作演示,(2)中的BIN都是支撑文件,.csproj项目是用来编译wordtoswf.aspx的,修改后,需要编译,否则会和sscms源dll冲突! (4)swfupload是临时上传目录

利用pdf2swf将PDF转换成SWF

将PDF转换成SWF可以使用SWFTools工具中的pdf2swf(http://www.swftools.org/),优快云快速免积分下载地址XXX一个简单的将PDF文档转成SWF的用法:C:\SWFTools\pdf2swf example.pdf -o example.swf -f -T 91、首先下载安装,一直默认下一步即可。2、java代码import java.io.Buffered

itmyhome的专栏 1万+

.net+swftools+flexpaper pdf转swf实现在线预览 在线文库效果 可运行

解压可以直接运行,包含完整的 swftools 和 flexpaper_flash 中的js及swf。 在线文库效果 ………………

pdf转成swf源码

pdf在线预览速度过慢,带宽不加大的情况下,蒋pdf转成swf文件的详情源码

FlexPaper在线显示PDF转SWF文件

<br />FlexPaper是一个被设计用来与PDF2SWF一起使用,开源轻量级的在浏览器上显示各种文档的组件, 使在Flex中显示PDF成为可能,而这个过程并无需PDF软件环境的支持。它可以被当做Flex的库来使用。也可以通过将一些例如Word、PPT等文档转成PDF,然后实现在线浏览。<br />一. 使用PDF2SWF转化你的pdf文件<br />     <br />    首先要将PDF转成SWF,这步可以使用开源的SwfTools自动完成<br /><br />    1.到http://ww

见证自己的学习之路 1832

提取网页中swf文件及转换成PDF方法

本文档讲解如何将网页中的swf flash文件提取保存,并用虚拟打印机将其转换成PDF格式文件。

Flex:使用FlexPaper显示PDF文档

<br />FlexPaper是一个开源的轻量级文档显示组件,被设计用来与PDF2SWF一起使用,使在Flex中显示PDF成为可能。它可以被当做Flex的library来使用。<br /> <br />一. 使用PDF2SWF准备好你的文档<br /> <br />首先要将PDF转成SWF,这步可以使用开源的SwfTools自动完成 <br /> <br />1.下载安装 SwfTools,当前最新版本是0.9<br />2. 转换PDF到SWF,可以通过命令行的方式,例如将Paper3.pdf转换成Pap

FG2006的专栏 4612

复合材料RVE建模与力学性能分析实战指南

代表体积元(RVE)建模是复合材料多尺度分析的核心技术,通过建立微观结构与宏观性能的定量关联,可准确预测材料力学行为。本文基于ABAQUS平台,详细解析三材料(纤维/基体/界面相)RVE建模全流程,包括参数化几何建模、周期性网格划分策略、材料属性定义技巧等关键技术环节。针对碳纤维增强环氧树脂等典型复合材料,提供网格控制参数建议和材料参数参考表,并重点说明周期性边界条件的实现方法与验证标准。通过Python脚本自动化处理和优化分析流程,可显著提升计算效率,为复合材料设计提供可靠仿真依据。

weixin_34062469的博客 549

从触觉到视觉:GelSight传感器的工作原理与实战应用指南

本文深入解析了GelSight光学触觉传感器的核心工作原理,它通过将物理接触转化为视觉图像,为机器人提供了高精度的触觉感知。文章详细介绍了其在工业微观缺陷检测、机器人灵巧操作等领域的实战应用,并提供了从系统搭建到算法开发的完整指南,帮助工程师将这一前沿技术落地于实际项目。

solidity8miner的博客 939

把pdf文档转化为swf

1.下载swftools,并安装在自己的电脑上。我这里把swftools安装在C盘(C:\SWFTools)。 2.使用命令行把pdf文档转换为swf文件,C:\SWFTools\pdf2swf  -t sourcePath -o destFileName -s flashversion=9 写命令的时候要特别注意flash的版本问题,默认转换出来的是flash8版本。

kele2005的专栏 556

样本不均衡时AUC反而下降?用imbalanced-learn库实战解决分类陷阱

本文探讨了样本不均衡时AUC指标下降的现象,并通过imbalanced-learn库实战演示了如何解决这一分类陷阱。文章详细分析了不同采样技术(如SMOTE、ADASYN)对模型性能的影响,并提供了XGBoost和逻辑回归模型的优化建议,帮助数据科学家在实际项目中做出更明智的决策。

weixin_29174013的博客 343

如何将swf文件转换成pdf

首先安装Adobe Acrobat Professional,系统会自动产生一个虚拟打印机PDFMaker,这下明白了吗?你可以打开要转化的文档,用钢产生的虚拟打印机进行打印就可以了。 如何用把swf内容转换成word 不过,对于Word、Excel、PowerPoint等来说,最好还是直接转化。仔细观察你的Word程序,是不是发现多了一个PDFMaker工具栏呢?电力面的第一项,就可以了。 如何...

qq_32355335的博客 1万+

【寄存器模型】一、一个简单的寄存器模型

在描述寄存器模型之前,首先来了解一下实际寄存器的组成结构:如下图所示的DUT内部真实的寄存器寄存器中最小的一个单位是域(field),域是由一个或多个bit拼接而成的。一个或多个域就构成了一个寄存器(reg)。一个或多个寄存器就构成了一个块(block)。将DUT中的寄存器抽象出来,建立寄存器模型,如下图所示:uvm library已经定义好了field、reg、block等相关的概念,构建寄存器模型时,只需要继承这些类即可。:构建寄存器模型中的域段。uvm_reg。...

carrotbanana的博客 5368

【TestCenter】RFC2544时延测试

本文介绍了使用Spirent TestCenter测试路由器PPPOE时延的RFC2544标准方法。RFC2544定义了三种时延类型:转发时延(LILO)、存储转发时延(LIFO)和直通时延(FIFO)。文章详细说明了测试步骤,包括测试拓扑搭建、PPPOE环境配置、RFC2544测试任务创建等关键环节,并介绍了如何设置时延参数和查看测试报告。测试结果表明,大字节帧的时延高于小字节帧,且负载越高时延越大。该测试方法遵循国际标准,可全面评估网络设备在不同负载下的性能表现。

lai_2020的博客 1401

java的office转化为pdf,pdf转化为swf的工具类 在线预览之总结

使用javaweb实现在线预览的工具类:

◇″淡定。 938

Windows 11任务管理器隐藏技能:一眼揪出内存泄漏的“元凶”(分页/非分页缓冲池详解)

本文详细介绍了Windows 11任务管理器中隐藏的分页缓冲池和非分页缓冲池功能,帮助用户精准定位内存泄漏问题。通过启用隐藏列、解读数据异常信号,并结合实战案例和高级工具推荐,为开发者和IT运维人员提供了高效的内存问题诊断与解决方案。

weixin_29284885的博客 625
上一篇: 单例设计模式
下一篇: dom4j生成或解析xml文档
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值