如何为 Drupal 站点添加在线电子书阅读功能

  像 Google Book百度文库 那样的文档在线阅读功能非常实用,要想为 Drupal 站点实现这样的文档在线阅读功能,可以通过 SWF Tools 模块来实现。

A. 启用并配置 SWF Tools 和 FlexPaper

  1. 首先,到 SWF Tools 项目页面下载 swftools 模块:http://drupal.org/project/swftools
    注意:请下载 swftools-6.x-3.0-beta5 或以上版本,此前的版本未集成对 FlexPaper 的支持;
  2. 将模块解压到 sites/all/modules 目录下;
  3. 到 Flexpaper 官方网站下载,Flexpaper(Flash版本),地址:http://flexpaper.devaldi.com/download/
  4. 将下载下来的 flexpaper_x.x.x_flash.zip 解压到 sites/all/libraries/flexpaper 目录下;
  5. 访问 管理>站点构建>模块(admin/build/modules) 页面,启用 SWF Tools 和 FlexPaper 模块;
  6. 访问 管理 > 站点设置 > SWF Tools > File Handling(admin/settings/swftools/handling)页面,展开 File Handling 区块,将 Default player for a single swf movie 的值设置为 FlexPaper;
  7. 访问 管理 > 站点设置 > SWF Tools > FlexPaper(admin/settings/swftools/flexpaper)页面,对 FlexPaper 配置进行设置
  8. 访问 管理 > 站点设置 > 输入格式(admin/settings/filters),找到想要使用 SWF Tools 标签的 Filter,如 Filtered HTML,点击配置。在 Filtered HTML 配置页面,找到“过滤”区块,勾选中 SWF Tools Filter,保存;

 

B. 制作可通过 FlexPaper 在线浏览的电子书

  1. 访问 SWF Tools 官方网站的下载页面,下载 SWF Tools: http://swftools.org/download.html
    Linux 用户下载 .tar.gz 包, Windows 下载 .exe 安装程序
  2. 安装 SWF Tools
  3. 使用 SWF Tools 提供的 pdf2swf 功能,将要在线阅读 PDF 文档转换成 .swf 格式

 

C. 上传转换后的 .swf 格式电子书

  1. 创建新的内容,可以通过 CCK Field,附件或FTP上传等方式,将 .swf 文件上传到网站中
  2. 在创建内容页面,将输入格式更改为第A-8步中启用了 SWF Tools Filter 的输入格式,如 Filtered HTML
  3. 按照 swf tools filter 提示的格式在正文中写入以下代码,保存之后即可以看到以 FlexPaper 显示的在线电子书。

[swf file="http://lugir.com/sites/default/files/test.swf"]

以下是使用 SWF Tools 模块和 FlexPaper 实现的在线电子书的效果截图

FlexPaper 预览

PS: 安装好的 FlexPaper 无法显示放大缩小的工具条,我为SWF Tools的这个功能写了一些补丁文件,有需要可以到下面的地址下载和使用:

http://drupal.org/node/1159076