zamzar/zamzar-php

Zamzar PHP 库

v2.0.5 2024-04-22 17:29 UTC

This package is auto-updated.

Last update: 2024-09-14 21:58:06 UTC


README

@zamzar on Twitter Total Downloads Apache 2 License

易于使用的PHP文件转换API,支持1100多种文件转换 - 转换文档、音频、图片、视频、电子书等。使用 zamzar-php 在您的PHP应用程序中通过Zamzar文件转换API在不同格式之间转换文件。常见的使用案例包括:

  • 将Microsoft Word(DOCX, DOC)转换为PDF
  • 从PDF文件中提取文本
  • 将Powerpoint(PPT, PPTX)转换为JPG
  • 将电子邮件存档(MSG文件)转换为PDF

这是Zamzar文件转换API的官方PHP SDK。

跳转到

要求

  • 在开始之前,请在Zamzar开发者首页注册Zamzar API帐户或检索现有的API密钥。
  • PHP 7.2.34及更高版本。

安装

您可以通过Composer安装绑定。运行以下命令:

composer require zamzar/zamzar-php

要使用绑定,请使用Composer的自动加载

require_once('vendor/autoload.php');

如果您不想使用Composer,您可以从最新发布版下载。然后,要使用绑定,请包含init.php文件。

require_once('/path/to/zamzar-php/init.php');

依赖

绑定需要以下扩展才能正常工作

如果您使用Composer,这些依赖项应该会自动处理。如果您手动安装,请确保这些扩展可用。

初始化Zamzar客户端

要初始化客户端,声明一个新的ZamzarClient,它接受字符串或配置数组

// Connect to the Production API using an API Key
$zamzar = new \Zamzar\ZamzarClient('apikey');

要指定客户端是否使用生产或测试API,请使用配置数组

// Use the Production API
$zamzar = new \Zamzar\ZamzarClient([
    'api_key' => 'apiKey',
    'environment' => 'production'
]);


// Use the Sandbox API
$zamzar = new \Zamzar\ZamzarClient([
    'api_key' => 'apiKey',
    'environment' => 'sandbox'
]);

测试连接

为了确认您的凭据是否正确,请测试到API的连接,这将返回欢迎消息并确认您正在使用哪个API(生产或测试)。

echo $zamzar->testConnection();

典型用法

最常见的需求是提交一个作业来转换文件,等待作业完成,下载转换后的文件,并删除Zamzar服务器上的文件。

// Submit the file
$job = $zamzar->jobs->create([
    'source_file' => 'path/to/local/file',
    'target_format' => 'xxx'
]);

// Wait for the job to complete (the default timeout is 60 seconds)
$job->waitForCompletion(30);

// Download the converted files 
$job->downloadTargetFiles('path/to/folder/');

// Delete the source and target files on Zamzar's servers
$job->deleteAllFiles();

在每一步之间可能发生其他事情时,上述用例可能适用;如果不适用,并且您想将整个过程串联起来:

// Do the whole thing together
$job = $zamzar->jobs->create([
        'source_file' => 'path/to/localfile', 
        'target_format' => 'pdf'
    ])
    ->waitForCompletion(120)
    ->downloadTargetFiles('path/to/folder')
    ->deleteAllFiles();

配置日志记录器

库仅进行最小日志记录,如果使用debug配置选项。使用提供的默认日志记录器或psr-3兼容的日志记录器。

$client = new Zamzar\ZamzarClient([
    'api_key' = '****',
    'debug' => true,
]);

// PSR-3 Compatible Logger
\Zamzar\Zamzar::setLogger($psr3Logger);

// Using Monolog
$logger = new Logger('Zamzar');
$logger->pushHandler(new StreamHandler(__DIR__.'/app.log', Logger::DEBUG));
\Zamzar\Zamzar::setLogger($logger);

资源

代码示例 - 从示例中复制/粘贴,这些示例演示了所有关键功能区域。

异常处理 - 了解有关API错误代码的更多信息。

开发者文档 - 了解有关API操作、参数和响应的更多信息。如果您需要有关所有功能区域的额外上下文,请使用此文档。