phatkoala / printnode
PrintNode的PHP API库 - 适用于Web应用的远程打印
2.0.0
2023-01-26 12:01 UTC
Requires
- php: >= 7.1.0
- ext-curl: *
- ext-json: *
- symfony/http-client: ^4.3
Requires (Dev)
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2024-09-26 15:45:57 UTC
README
变更日志
版本 2.0
版本 1.0
- 初始发布
关于
PHP 7.1 API库用于PrintNode - Web应用的远程打印 https://www.printnode.com/
$printNode = new PrintNode(string $auth);
账户信息
我是谁?
// GET /whoami $printNode->getWhoAmI(); // returns WhoAmIResponse
电脑
查看
// GET /computers $printNode->getComputers(); // returns ComputersResponse // GET /computers/COMPUTER SET $printNode->getComputer(int $computer); // returns ComputerResponse
移除
// DELETE /computers $printNode->deleteComputers(); // returns DeleteConfirmationResponse // DELETE /computers/COMPUTER SET $printNode->deleteComputers(int|array $computers); // returns DeleteConfirmationResponse
打印机
查看
// GET /printers $printNode->getPrinters(); // returns PrintersResponse // GET /printers/PRINTER SET $printNode->getPrinter(int $printer); // returns PrinterResponse // GET /computers/COMPUTER SET/printers $printNode->getComputerPrinters(int $computer); // returns PrintersResponse // GET /computers/COMPUTER SET/printers/PRINTER SET $printNode->getComputerPrinter(int $computer, int $printer); // returns PrinterResponse
移除
// DELETE /printers $printNode->deletePrinters(); // returns DeleteConfirmationResponse // DELETE /printers/PRINTER SET $printNode->deletePrinters(int|array $printers); // returns DeleteConfirmationResponse // DELETE /computers/COMPUTER SET/printers $printNode->deleteComputerPrinters(int $computer); // returns DeleteConfirmationResponse // DELETE /computers/COMPUTER SET/printers/PRINTER SET $printNode->deleteComputerPrinters(int $computer, int|array $printers); // returns DeleteConfirmationResponse
打印作业
创建
// GET /printjobs $printJobFile = $printNode->createPrintJobFile(int $printer, string $title, string $source); // returns PrintJobFile $printJobFile->send('path/to/file.pdf'); // returns Print Job ID $printJobFile = $printNode->createPrintJobPdfSource(int $printer, string $title, string $source); // returns PrintJobFile $printJobFile->send($pdfSource); // returns Print Job ID $printJobUrl = $printNode->createPrintJobUrl(int $printer, string $title, string $source); // returns PrintJobUrl $printJobUrl->send('https://www.domain.com/path/to/file.pdf'); // returns Print Job ID
查看
// GET /printjobs // GET /printjobs/PRINT JOB SET // GET /printers/PRINTER SET/printjobs // GET /printers/PRINTER SET/printjobs/PRINT JOB SET
移除
// DELETE /printjobs // DELETE /printjobs/PRINT JOB SET // DELETE /printers/PRINTER SET/printjobs // DELETE /printers/PRINTER SET/printjobs/PRINT JOB SET
状态
// GET /printjobs/states // GET /printjobs/PRINT JOB SET/states
比例
HTTP REST
// GET /computer/COMPUTER ID/scales // GET /computer/COMPUTER ID/scales/DEVICE NAME // GET /computer/COMPUTER ID/scale/DEVICE NAME/DEVICE NUMBER
测试
// PUT /scale
账户管理
创建
// POST /account $newAccount = $printNode->createAccount('email@domain.com', 'my-passw0rd'); // returns ChildAccountRequest $newAccount ->setCreatorRef('my-unique-reference') ->addTag('likes', 'dogs') ->addTags([ 'eats' => 'pie', 'plays' => 'football', ]) ->removeTag('eats') ->addApiKey('development') ->addApiKeys([ 'staging', 'production', ]) ->removeApiKey('development'); $newAccount->send(); // returns ChildAccountResponse
修改
// PATCH /account
挂起和激活
// PUT /account/state $childAccount = $printNode->getChildAccount($id); // returns PrintNode $childAccount->suspend(); $childAccount->activate();
删除
// DELETE /account $childAccount = $printNode->getChildAccount($id); // returns PrintNode $childAccount->delete();
控制
$childAccount = $printNode->getChildAccount($id); // returns PrintNode // or $childAccount = $printNode->getChildAccount($email, PrintNode::$CHILD_AUTH_BY_EMAIL); // returns PrintNode // or $childAccount = $printNode->getChildAccount($creatorRef, PrintNode::$CHILD_AUTH_BY_CREATOR_REF); // returns PrintNode
标签
// POST /account/tag/NAME // GET /account/tag/NAME // DELETE /account/tag/NAME
API密钥
// POST /account/apikey/DESCRIPTION // GET /account/apikey/DESCRIPTION // DELETE /account/apikey/DESCRIPTION
客户端下载
$clientKey = $childAccount->getClientKey($uuid, $edition, $version); // returns string
其他
Ping
// GET /ping PrintNode::ping(); // returns true/false
Noop
// GET /noop $printNode->noop(); // returns true/false