crocodoc/crocodoc-php

此软件包已废弃,不再维护。未建议替代软件包。

用于Crocodoc API的PHP包装器

v1.0.1 2013-05-06 23:25 UTC

This package is not auto-updated.

Last update: 2018-08-31 00:35:41 UTC


README

介绍

crocodoc-php 是 Crocodoc API 的 PHP 包装器。Crocodoc API 允许您上传文档,然后为其生成安全和定制的查看会话。我们的 API 基于REST原则,通常返回JSON编码的响应,在PHP中除非另有说明,否则转换为关联数组。

安装

首先,获取库。导航到您想要放置库的文件夹。我们建议将库作为子模块添加到您的git项目中。

git submodule add git@github.com:crocodoc/crocodoc-php.git

您也可以通过克隆或下载来获取库。

克隆

git clone git@github.com:crocodoc/crocodoc-php.git

下载

wget https://github.com/crocodoc/crocodoc-php/zipball/master -O crocodoc-php.zip
unzip crocodoc-php.zip
mv crocodoc-crocodoc-php-* crocodoc-php

将库引入您的PHP文件中

require_once /path/to/crocodoc-php/Crocodoc.php

入门

您可以在 examples.php 中看到如何使用此库的多个示例。这些示例是交互式的,您可以运行此文件来查看 crocodoc-php 的实际效果。

要运行这些示例,打开 examples.php 并将此行更改为显示您的API令牌

$exampleApiToken = 'YOUR_API_TOKEN';

保存文件,确保示例文件目录可写,然后运行 examples.php

php examples.php

您应该在终端中看到15个示例运行并输出。您可以通过检查 examples.php 代码来查看每个API调用的使用情况。

要在您的代码中使用 crocodoc-php,设置您的API令牌

Crocodoc::setApiToken('YOUR_API_TOKEN');

现在您可以使用 CrocodocDocument、CrocodocDownload、CrocodocSession 中的方法了。

继续阅读以了解更多关于如何使用 crocodoc-php 的信息。您还可以在这里找到有关我们的API的更详细信息:https://crocodoc.com/docs/api/

使用 Crocodoc API 库

错误

错误通过抛出异常来处理。我们抛出 CrocodocException 的实例。

请注意,任何 Crocodoc API 调用都可能抛出异常。在调用 API 时,请将它们放在 try/catch 块中。您可以通过查看 examples.php 来查看每个方法使用 try/catch 块的工作代码。

文档

这些方法允许您上传、检查文档状态和删除文档。

上传

https://crocodoc.com/docs/api/#doc-upload
要上传文档,请使用 CrocodocDocument::upload()。传入一个url(作为字符串)或文件资源对象。此函数返回文件的UUID。

// with a url
$uuid = CrocodocDocument::upload($url);

// with a file
$fileHandle = fopen($filePath, 'r');
$uuid = CrocodocDocument::upload($fileHandle);

状态

https://crocodoc.com/docs/api/#doc-status
要检查一个或多个文档的状态,请使用CrocodocDocument::status()。传入文件的UUID或您要检查状态的UUID数组。此函数返回包含“状态”字符串和“可查看”布尔值的关联数组。如果您传入数组而不是字符串,则此函数返回包含每个文件状态的关联数组数组。

// $status contains $status['status'] and $status['viewable']
$status = CrocodocDocument::status($uuid);

// $statuses contains an array of $status associative arrays
$statuses = CrocodocDocument::status(array($uuid, $uuid2));

删除

https://crocodoc.com/docs/api/#doc-delete
要删除文档,请使用CrocodocDocument::delete()。传入您要删除的文件的UUID。此函数返回一个布尔值,表示文档是否成功删除。

$deleted  = CrocodocDocument::delete($uuid);

下载

这些方法允许您以不同的方式从Crocodoc下载文档。您可以下载原始文件、PDF、提取的文本和缩略图。

文档

https://crocodoc.com/docs/api/#dl-doc
要下载文档,请使用CrocodocDownload::document()。传入uuid,可选地传入一个布尔值,表示文件是否应该下载为PDF,可选地传入一个布尔值,表示文件是否应该有注释,以及可选的过滤字符串。此函数返回文件内容作为字符串,您可能希望将其保存到文件中。

// with no optional arguments
$file = CrocodocDownload::document($uuid);
fwrite($fileHandle, $file);

// with all optional arguments
$file = CrocodocDownload::document($uuid, true, true, 'all');
fwrite($fileHandle, $file);

缩略图

https://crocodoc.com/docs/api/#dl-thumb
要下载缩略图,请使用CrocodocDownload::thumbnail()。传入uuid和可选的宽度和高度。此函数返回文件内容作为字符串,您可能希望将其保存到文件中。

// with no optional size arguments
$thumbnail = CrocodocDownload::thumbnail($uuid);
fwrite($fileHandle, $thumbnail);

// with optional size arguments (width 77, height 100)
$thumbnail = CrocodocDownload::thumbnail($uuid, 77, 100);
fwrite($fileHandle, $thumbnail);

文本

https://crocodoc.com/docs/api/#dl-text
要从文档中下载提取的文本,请使用CrocodocDownload::text()。传入uuid。此函数返回提取的文本作为字符串。

$text = CrocodocDownload::text($uuid);

会话

会话方法允许您以安全的方式创建查看文档的会话。

创建

https://crocodoc.com/docs/api/#session-create
要获取会话密钥,请使用CrocodocSession::create()。传入uuid和可选的params关联数组。params数组可以包含一个“isEditable”布尔值,一个包含“id”和“name”字段的“user”关联数组,一个“filter”字符串,一个“sidebar”字符串,以及“isAdmin”、“isDownloadable”、“isCopyprotected”和“isDemo”布尔值。此函数返回会话密钥。

// without optional params
$sessionKey = CrocodocSession::create($uuid);

// with optional params
$sessionKey = CrocodocSession::create($uuid, array(
    'isEditable' => true,
    'user' => array(
        'id' => 1,
        'name' => 'John Crocodile',
    ),
    'filter' => 'all',
    'isAdmin' => true,
    'isDownloadable' => true,
    'isCopyprotected' => false,
    'isDemo' => false,
    'sidebar' => 'visible'
));

支持

请使用github的issue tracker进行API库支持。