写本文的缘由:领导有些项目文档需要审阅,网站上的文档只能在线预览,没有提供下载。开始用截屏的方式,可想而知这将会是多大的重复性劳动。所以研究了一下,发现可以曲线救国,所以在这里分享一下。


问题描述:这里遇到的在线文档预览是swf文件,是网站后台采用flexpaper转换后,前台使用Flash进行的预览。打开的文档如下。


解决方案:

这里使用chrome打开的,右键也好还是工具栏也好,都没有提供打印或者下载的方式。好了,F12打开控制台,查看源代码吧。

还好预览文件页面的DOM结构很简单,找到了预览文件的路径,是转换后的swf文件,注意一下 ../ 表示的是源文件所在目录的上一级目录,所以swf文件的路径就是预览页网址将最后一个 / 后面的路径替换为 ../ 后面的路径。将这个路径用浏览器打开,或者用迅雷下载,就得到了swf文件。

下一步就是将swf文件转为pdf了,swf文件用浏览器就可以打开,或者安装Adobe Acrobat后,就有了Macromedia FlashPaper插件,可以直接保存为pdf。可是不知道为什么,chrome只能选择打印一页,所以使用了doPDF转换器,可还是不行,最后竟然用IE可以选择打印所有页。。。

至此在线文档就保存到了本地,当然pdf中仍然是图片格式。


总结:

问题虽然解决,但是还有不少的瑕疵,列举如下。

flexpaper的使用;

安装Adobe Acrobat,直接在线保存swf;

用代码实现网页批量文件下载,比如Python;

用代码实现批量swf文件转换(打印)为pdf。

目前想到的就这么多,希望能帮助到需要的人。

[SWF]在线预览文档下载的更多相关文章

  1. C#在线预览文档(word,excel,pdf,txt,png)

    C#在线预览文档(word,excel,pdf,txt,png) 1.预览方式:将word文件转换成html文件然后预览html文件2.预览word文件:需要引入Interop.Microsoft.O ...

  2. C# 基于NPOI+Office COM组件 实现20行代码在线预览文档(word,excel,pdf,txt,png)

    由于项目需要,需要一个在线预览office的功能,小编一开始使用的是微软提供的方法,简单快捷,但是不符合小编开发需求, 就另外用了:将文件转换成html文件然后预览html文件的方法.对微软提供的方法 ...

  3. 在线预览文档(支持word、excel、ppt、pdf)+在线预览文档html版(转)

    1.首先上网搜索一下有什么解决方案 (1).将文档转换为html,只支持支持office文档 (2).将文档转换为flash,实现类似百度文库的效果,除支持office文档外还支持pdf (1) a. ...

  4. Java 如何实现在线预览文档及修改(Office文件)

    测试地址: https://sms.idxkj.cn 用户名:aa 密码:123456

  5. Java 如何实现在线预览文档及修改(文本文件)

    暂时未解决的问题:多用户并发修改一个文件 测试地址: http://sms.reyo.cn 用户名:aa 密码:123456

  6. 在其他app里预览文档

    本文转载至 http://www.cocoachina.com/newbie/basic/2013/0515/6212.html iOS中的沙盒可以让平台更加的安全,这也是沙盒给用户带来的最主要好处. ...

  7. 【iOS功能实现】之利用UIDocumentInteractionController打开和预览文档

    iOS提供了使用其他app预览文件的支持,这就是Document Interaction Controller.此外,iOS也支持文件关联,允许其他程序调用你的app打开某种文件.而且,从4.2开始, ...

  8. word转pdf swf 在线预览

    来源:http://www.cnblogs.com/wuhenke/archive/2010/08/01/1789750.html 之前在项目中研究使用了一套word转PDF,然后将PDF转成SWF的 ...

  9. iOS-UIDocumentInteractionController打开和预览文档

    iOS提供了使用其他app预览文件的支持,这就是Document Interaction Controller.此外,iOS也支持文件关联,允许其他程序调用你的app打开某种文件.而且,从4.2开始, ...

随机推荐

  1. Android常用代码集合

    这篇文章主要记录一些常用的一些代码段,方便以后查阅,不断更新中. 1:调用浏览器,载入某网址 1 2 3 Uri uri = Uri.parse("http://www.android-st ...

  2. 利用PHP生成二维码(转)

    导读:在二维码广泛应用化的今天,在web站点中自动生成对应的二维码是最基础的需求.文章介绍了使用PHP自动生成二维码的三种方式. get方法实现方式一: $urlToEncode="163. ...

  3. l​i​n​u​x添加​修​改​用​户​名​密​码

    语 法: useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组> ...

  4. Roadblocks http://poj.org/problem?id=3255

    Description Bessie has moved to a small farm and sometimes enjoys returning to visit one of her best ...

  5. java中访问mysql数据库中的表结构信息

    package cn.hncu.meta; import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.Re ...

  6. Visual studio 2012 添加 GitHub

    文件-新建项目

  7. storyBoard中的Segue跳转

    //———————————————--------------在不确定的Segue跳转-----------------------------------   多个按钮指向要跳转的视图 1.在一个恰 ...

  8. javaEE的十三个技术规范

    java 是一种非常棒的语言,健壮,跨平台运行,屏蔽了具体的平台环境的要求,也就是说只要支持java 虚拟机,就可以运行java程序. 下面,我们一起学习一下J2EE的十三种技术规范. 一.JDBC: ...

  9. linux用户及组管理

    useradd      添加用户 passwd       修改用户密码 userdel       删除用户,默认不删除用户主目录和email,如果想删除可加 –r 参数 groupadd   添 ...

  10. Objective-C ,ios,iphone开发基础:多个视图(view)之间的切换,以及视图之间传值。

    所有的视图都继承自 UIViewController,都使用 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nib ...