crocodoc / crocodoc-php
用于Crocodoc API的PHP包装器
Requires
- php: >=5.3
- ext-curl: *
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库支持。