通过PHP进行Google云打印

时间:2014-09-26 22:43:22

标签: php command-line google-cloud-print

我正在尝试创建一个应用程序,在为客户端生成PDF后自动打印PDF。 (根据他的要求)我启动并运行了一台云打印机,如果我尝试使用像Chrome这样的东西,那就完全可以了。

PHP的所有库都非常过时(最多4年),其中大部分完全被破坏或提供很少甚至没有关于如何使用它们的文档,并且尝试使用谷歌自己的文档更是一场噩梦< / p>

我能想到的最好的就是使用这个图书馆:yasirsiddiqui/php-google-cloud-print,主要是因为它是我唯一能够弄清楚如何使用它的文章。

但是,当我使用此帐户提交打印作业时,该帐户的所有者(我)会收到一封警告电子邮件,其中有人怀疑正在尝试登录其帐户并且已被阻止。

有没有人知道是否有(工作)库来执行此操作,或者是否有命令行替代(首选)我可以使用system()exec()

注意:我对python有0%的了解,并且使用JavaScript提交这些作业不是一种选择,因为最终用户不允许更改文档。


更新[2015/09/08]:由于某些原因,即使使用OAuth2,Google也不允许通过某些帐户进行打印,因此只需创建一个全新的帐户即可快速修复此问题用它打印。

2 个答案:

答案 0 :(得分:7)

我已更新代码以使用Google OAuth2,现在不存在与帐户被屏蔽或安全风险等相关的任何问题。以下是更新代码的网址 https://github.com/yasirsiddiqui/php-google-cloud-print

答案 1 :(得分:2)

我从未听说过Google Cloud打印,但它似乎只是一个简单的REST API,在这种情况下,您不需要使用库与之交互,只需使用像CURL这样的东西。这是一个页面,可以让您测试它们提供的各种界面:

https://www.google.com/cloudprint/simulate.html

此处提供干参数列表用于提交作业:

https://developers.google.com/cloud-print/docs/appInterfaces#submit

我只是使用CURL发布我的请求,而不用担心过度设计一些巨大的类,特别是当你不需要API中的每个可用选项时。您应该查看Python示例 - 我知道您没有太多使用Python的经验,但您设置为登录的HTTP标头等将与PHP中的相同:

login.putheader('content-type', 'application/x-www-form-urlencoded')

与:

相同
$request_headers[] = 'content-type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);`

我确实在这里找到了一个API,但它是在付费墙背后,所以我无法证明它的质量 - 如果你是为客户做这件事,虽然可能值得省钱和省力检查出来:

http://www.phpgang.com/how-to-configure-google-cloud-api-in-php_288.html