You are on page 1of 14

软件构 件研究 技术报 告

构件名 称:

ipaper

版本 <1. 5 >

审核人 :

日期:

编制人 :

日期:

上海软件构件化服务中心

上海计算机软件技术开发中心

1 .前言 2 2 .构件 概要说明

3

3 .构件 接口与结 构说明

5

4 .构件 使用说明

11

5 .相关 构件比较

14

1前言

1.1 目的 使读者能够了解 ipaper 的一般功能,并能通过这篇研究技术报告掌握 ipaper 构件的 使用方法,本技术报告对于 ipaper 内部结构与接口进行了说明,本报告对于 Scribd.Net dll ipaper API 封装开源构件的使用进行了说明。

1.2

背景

在当今网络世界,对于文档转换,显示并在网络上共享文档等方面要求日益增多,而 普通的网站与 blog 并不能同时解决这些问题。人们需要一种能够快速解决这一问题的方案. Scribd 平台在这一背景下产生的。它的宗旨是致力于网站拥有更加丰富,更加多样化的文 档网络上共享文档 API。

  • 1.3 术语定义

  文档管理 管理电子文档如字处理文件。   数字图象库 管理数字图片、图象。   内容管理 管理网站的内容。大部分内容提供者也用该术语指他们的文档、图片管理解

决方案

  • 1.4 参考资料

Scribd API Documentation,Scribd Company Website

  • 1.5 命名规则

2构件概要说明

  • 2.1 刻面与功能 点描述

Ipaper 刻面

数据访问,数据存储,文档格式转换、文件展示

IPape r 的主要功能 :

用户网站将任何主流格式的文档上传到 Scribd 网站,当用户网站调用 ScribdAPI 时, IPaper 客户端以 Flash 的格式插入 Blog 或者网站,并所展示所上传的文档,且客户端具有 翻页以及幻灯片展示等功能,便于阅读,而且可以直接打印这些文档以及在这些文档内进 行搜索(包括 PDF)。这些功能是其它一些在线文档展示服务所缺乏的。

  • 2.2 功能详述 构件功 能说明 Ipaper 构件主要分为 2 部分功能:Scribd 文件提,ScribdAPI 文件展示。 Scribd 文件上传:

用户网站将任何主流格式的文档上传到 Scribd 网站,并能设置权限。 ScribdAPI 文件展示: 用户网站调用 ScribdAPI 时,IPaper 客户端以 Flash 的格式插入 Blog 或者网站,并所 展示所上传的文档,且客户端具有翻页以及幻灯片展示等功能,便于阅读。IPaper 可以直 接打印这些文档以及在这些文档内进行搜索(包括 PDF)功能。iPaper 是支持以下格式的

文件上传,浏览应

Adobe PDF (.pdf)以 Adobe PDF

Adobe PostScribd (.ps) Adobe 公司的 PostScribd

Microsoft Word (.doc) Microsoft Word 中 Microsoft PowerPoint (.ppt, .pps)微软的 PowerPoint

Microsoft Excel (.xls) Microsoft Excel 中中 OpenOffice Text Document (.odt, .sxw) OpenOffice 的文本文件 OpenOffice Presentation Document (.odp, .sxi) OpenOffice 的示文稿文件 OpenOffice Spreadsheet (.ods, .sxc) OpenOffice 的

All OpenDocument formats 所有的 OpenDocument 格式

Plain text (.txt)纯文字 RTF 格式

多语言 iPaper 内置支持多种语言用户界面。 scribd.Net 对 Ipaper 的接口进行封装,可以方便的文档转化ipaper,并且这些 文档存在服务上。代码易实现,可以方便的调用。

构件功能性特 性(并发 处理说明 /异常处理说 明/安全并发处理说明: Ipaper 构件客户端到服务端的使用线处理。数据传使用数据块 后,按照一定的网络传输协议,通过网络进行传. Ipaper 构件异常处理说明: 1登陆失败错误,在登陆时用户名或者密码不对 2有 APIKEY。不存在 APIKEY 或者 APIKEY 错误3有 SECRETKEY。不存在 SECRETKEY 或者 SECRETKEY 错误 4注销错误。不能够注销

2.3 框架与 技术计构 件所使用 的主要技 术理以 及框 架 Ipaper 客户端与服务2 部分。 Ipaper 文档上传用户网站通过网络调用 ipaper 接口,文档转化Ipaper 内部格式存入 scribd 网站中,进而设置文档的权限。当一般用户浏览 Ipaper 文档上传用户网站的这些文

档时,将调用 Ipaper 构件并以 Flash 方式呈现给一般用户。

ipaper可识别文件 openDo *.pdf *.ps cument *.doc .*.txt *.odt *.xls *.ppt *.odp 其余 ipaper *.ods openDocum 能识别格
ipaper可识别文件
openDo
*.pdf
*.ps
cument
*.doc
.*.txt
*.odt
*.xls
*.ppt
*.odp
其余 ipaper
*.ods
openDocum
能识别格
ent
用户端 网站
用户端
网站
提交 ipaper 网络 展示 Ipaper接口 web端
提交
ipaper
网络
展示
Ipaper接口
web端

Ipaper 支持的上传文件

网络 解

Scribd.Net 浏览 用户端 iE/Fifox等浏览器
Scribd.Net
浏览
用户端
iE/Fifox等浏览器

一般用户

iPaper上传用户

Scribd ipaper

Ipaper服务器 数据
Ipaper服务器
数据

3构件接口与结构说明

Scribd 接口 ,可以分为四类。 文档上传docs.Uploaddocs.uploadFromUrl。 文档状态类docs.getListdocs.getConversionStatusdoc.changeSettings。 文档一般操作类doc.deletedoc.search

用户一般操作类user..login,

user.signup.这些接口实现了文档用户的一般操作

Scribd 接口描述:

文档上传

方法名:

docs.upload

参数:

file , doc_type, rev_id , access, api_key, api_sig, session_key, my_user_id

参数返回类

必选参数file,api_key. Doc_id 示文档id

说明:

Access_key 到的 access key Secret_password:返回的加密密码

返回的 xml 文件如下(截取片段):  
返回的 xml 文件如下(截取片段):
 

docs.uploadFromUrl

名:

url , doc_type,

数:

rev_id ,access, api_ key, api_sig, session_key, my_user_id

必选参数url,api_keyDoc_id 示文档id

Access_key 到的 access key

Secret_password:返回的加密密码

返回xml 文件如下(截取):

型

明:

文档状态类 方 docs.getList 法 名: 参 数: 参 数 返 回 类 型 api_key, api_sig, session_key,
文档状态类
docs.getList
名:
数:
api_key, api_sig,
session_key, my_user_id
必选参数为(api_key)
Doc_id: 表示文档id
Access_key: 表示得到的 access key
Title: 取得的文件名称
DeScribdion: 文件描述
Conversion_status: 转化的标志。
返回的 xml 文件如下(截取片段):
明:
 

docs.getConversionStatus

名:

doc_id,api_key,

必选参数doc_id,api_key.

数:

api_sig, session_key,

my_user_id

Conversion_status: 转化的标志

返回xml 文件如下(截取):

返

明:

 

doc.getSettings

名:

doc_id ,title,deScribdion,

必选参数:(api_key,doc_id)

数:

acess,license,show_ads,

tags,api_key,api_sig, session_key,my_user_id

State : 状态标志

返回xml 文件如下(截取):

返

明:

 

doc.changeSettings

名:

doc_id ,title,deScribdion,

必选参数:(api_key,doc_id)

数:

acess,license,show_ads,

tags,api_key,api_sig, session_key,my_user_id

Doc_id: 示文档id

Access_key: 到的 access key

State : 状态标志

返回xml 文件如下(截取):

型 说 明: 文档一般操 作类
明:
文档一般操 作类

doc.changeSettings

名:

doc_id ,title,deScribdion,

必选参数:(api_key,doc_id)

数:

acess,license,show_ads,

tags,api_key,api_sig, session_key,my_user_id

State : 状态标志

返回xml 文件如下(截取):

返

明:

 

doc.delete

名:

doc_id ,api_key,api_

必选参数:(api_key,doc_id)

数:

sig,session_key,

my_user_id

State : 状态标志

返回xml 文件如下(截取):

返

明:

 

doc.search

名:

query ,num_results

数:

,num_start,scope , api_key,api_sig, session_key,my_user_id

 

必选参数:(api_key,query)

Doc_id: 示文档id

Access_key: 到的 access key

Title: 取得的文件名称

Stat: 状态

Result_set:返回果列表

Result: 返回

返回xml 文件如下(截取):

明:

明:

用户一般操 作类

user.login

名:

username,password,

数:

api_key,api_sig

必选参数:(api_key,username,password)

State : 状态标志

Session_key: Session 的有关 key

User_id:用户 id

Username: 用户

Name:上传文档名称

返回xml 文件如下(截取):

说

明:

user.signup

名:

username,password,

数:

email,name,api_key,api_sig

必选参数:(api_key,username,password,email)

State : 状态标志

Session_key: Session 的有关 key

User_id:用户 id

Username: 用户

Name:上传文档名称返回xml 文件如下(截取):

明:

一 个 Scribd Ipaper 接口 应 用 举例 Scribd API 例 子:在 浏览器 上 地址输 入:http://api.scribd.com/api?method=docs.getList&api_key= 7gsul0jyf0in3lmlov703 method 表 示调用的 Scribd ipaper 接口 ,api_key 是该方法的一 个 参数。 返回 一 个 xml 文档,如下图所示:   该方法 得 到,与这 个 Api_key 相关的所有文档的 xml 列表 。 说明: resultset 表 示 返回 结 果集合 。     Result 表 示结 果 。     Doc_id 表 示文档 id     Access_key 表 示 得 到的 access key Title 表 示文件名称     DeScribdion 表 示描述     Conversion_status 表 示 状态    以下 返回 结 果类似 ,不在说明。 Scribd.Net 中,Document Class 封装: docs.upload , docs.uploadFromUrl , docs.getList docs.getConversionStatus , doc.getSettings , doc.changeSettings , doc.delete , doc.search 。 UserClass 封装: user.login,user.signup 接口 10 " id="pdf-obj-9-2" src="pdf-obj-9-2.jpg">

Scribd Ipaper 接口举例 Scribd API 子:在浏览器地址输入: http://api.scribd.com/api?method=docs.getList&api_key= 7gsul0jyf0in3lmlov703 method 示调用的 Scribd ipaper 接口,api_key 是该方法的一参数。 返回xml 文档,如下图所示:

一 个 Scribd Ipaper 接口 应 用 举例 Scribd API 例 子:在 浏览器 上 地址输 入:http://api.scribd.com/api?method=docs.getList&api_key= 7gsul0jyf0in3lmlov703 method 表 示调用的 Scribd ipaper 接口 ,api_key 是该方法的一 个 参数。 返回 一 个 xml 文档,如下图所示:   该方法 得 到,与这 个 Api_key 相关的所有文档的 xml 列表 。 说明: resultset 表 示 返回 结 果集合 。     Result 表 示结 果 。     Doc_id 表 示文档 id     Access_key 表 示 得 到的 access key Title 表 示文件名称     DeScribdion 表 示描述     Conversion_status 表 示 状态    以下 返回 结 果类似 ,不在说明。 Scribd.Net 中,Document Class 封装: docs.upload , docs.uploadFromUrl , docs.getList docs.getConversionStatus , doc.getSettings , doc.changeSettings , doc.delete , doc.search 。 UserClass 封装: user.login,user.signup 接口 10 " id="pdf-obj-9-34" src="pdf-obj-9-34.jpg">

 

该方法到,与这Api_key 相关的所有文档的 xml 列表。 说明:resultset 返回果集合。    Result 示结。    Doc_id 示文档id    Access_key 到的 access key Title 示文件名称    DeScribdion 示描述    Conversion_status 状态    以下返回果类似,不在说明。

Scribd.Net 中,Document Class 封装:docs.uploaddocs.uploadFromUrldocs.getList docs.getConversionStatusdoc.getSettingsdoc.changeSettingsdoc.deletedoc.searchUserClass 封装:user.login,user.signup 接口

4构件使用说明

  • 5.1 构件平 台

环境依 赖 Internet Explorer 5.0 或以上 Scribd.Net .Net Frame Work 2.0 其它依赖 需要在 Scribd ipaer 网站申请API Key. Secret Key,Publicher ID QuickStart

下面详述一个实列实现在网页上 ipaper 用。

在源代码 html/xhtml 网页上,</body>标签加以下代码

  <Scribd type="text/javaScribd"> var scribd_publisher_id = 'pub-49563065552246273724'; var scribd_type = 2; var scribd_keep_original_link = 0; var scribd_ipaper_params = []; scribd_ipaper_params['height'] = 440; scribd_ipaper_params['width'] = 560; scribd_ipaper_params['public'] = true;   </Scribd>   <Scribd src="http://www.scribd.com/javaScribds/auto.js"></Scribd> 注意:需要在 ipaper 网站上申请 key. 如需要 ipaper 解读某个格式的文件,则必须要在网络上能够接到该文件。 如要在源代码中使用该文件,在源代码<a href="该文件 url 位置"> </a> 下面以实际说明 Ipaper 的用. 在万维网上, 打开网页

Word 文档,自己新建个 Example.html 页面。入以下代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> </form> <a href="http://today.hit.edu.cn/uploadfiles/2008/03-

10/20080310141009890.doc">att</a>

<Scribd type="text/javaScribd"> var scribd_publisher_id = 'pub-49563065552246273724'; var scribd_type = 2; var scribd_keep_original_link = 0; var scribd_ipaper_params = []; scribd_ipaper_params['height'] = 440; scribd_ipaper_params['width'] = 560; scribd_ipaper_params['public'] = true; </Scribd> <Scribd src="http://www.scribd.com/javaScribds/auto.js"></Scribd> </body> </html>

然后浏览器打开,显示

< html x mlns =" http ://www . w3 .org /1999/x html " > < head

可以ipaper 解读了该 word 文档。

FAQ  

什么是 Ipa perIpaper 是一种文件格式转换具。它支持常见的文件格式。并且它可以入到任何网 站或客。 使用 Wor dPre ss,为什么我不 能网站上的 ipape r 界面 们发在 WorldPress JavaScribd,Ipaper 不能正常工作力解决 这问题。 需要什么 ,以查看 ipape rIpaper 是建立在 Adobe 的 flash 上的。所以你必须浏览器JavaScribd。 我怎么文档 转换ipape r 文档种方法。的文档和你个人的环境共同决定使用一种发法。你试图共 享一或多文档,你最好将文档上传到服务拥有自己的网站,使用 Scribd API 更合适记住的文档上传到 Scribd Ipaper 时,它已经转换了。 怎么样一次 性转换多 文档使用网站提供的 Scribd bulk uploader 具,或者使用 Scribd API。服务很好能同时转换多文档。 我怎么图片转换 ipa per直接转换不可以。可以它插入到一文档,如: pdf,Word 等文档。 可不可以 ipa per 服务端软 件装在自 己的服务 目前不可以。保证,Ipaper 服务器绝保证你上传的数据安全性可以把 Micro soft Off ice 2007 格式的 转换ipape r 么? 在不可以。可以把 07 格式转换成 03 格式。上将要推出支持 07 格式的 ipaper 更版本。 在 Scrib d 网站上在 也不能的文 档,做 什么 ? 果你在网站上不到文档,Email 给我们,邮箱地址为contact@scribd.com. 的文档不 能转换ipape r,什么 原因? Pdf 文档:可能的文件格式是过加的。Word 文档: 可能包含太多的图片。 能够ipape r 发到 网站上么 ? 可以。可以发ipaper 到任何支持 Flash 格式的网站上。 能够修改 网站上的 ipape r 大小么 ? 可以查看实现 ipaper 口大实现代码可以修改应值改变可以修改 ipape r 呈现的 文档么?

不行。Ipaper 是一布型的格式,并不是一写器是,也许你可以修改的 文档,然后再把他上传。

5相关构件比较

iPaper 在线文档阅读与 PDF 以及 Microsoft Office 点比较。

iPaper

PDF

Microsoft Office

需要下

No

Sometimes

Yes

需求

No

Yes

Yes

浏览器

Yes

No

No

Free

$299

~$150

提供内部接口

Yes

No

No

96 KB

92,000 KB

~130,000 KB

在是在文档中提供广

Yes

No

No

安全性

Yes

Only with DRM

No

否病毒免疫

No

Yes

Yes