現在、私はPHPのバックエンドシステムに直接印刷する機能を追加しています。私はGoogleのクラウドプリントで作業するよう努力しています。このアプリをオンラインショッピングカートとして想像して、ピッキングノート(注文完了)を印刷して、誰かがログインする必要はありません。サーバーはリモートで、宛先にクラウド対応プリンタがあります。GoogleクラウドプリントによるPHPの印刷
これまでは、HTML、プレーンテキスト、またはURLをPDFに渡すだけで、interfacesを使用して印刷することに成功しました。私は、印刷物を色、余白、印刷品質に設定することができます。
問題が発生した場合、システムが作成するPDFは一般にアクセスできないため、URLをファイルに渡すことはできません。ファイルの内容を渡す必要があります。
私はウェブで見つけた例の1つを修正するために成功していませんでしたHERE。しかし、私は言語を知らないので、苦労しています。
python HEREの別の例でも、私は成功なしにもう一度試しています!
私はPHPとZendフレームワークを使用してインターフェイスを操作しています。ここで私が試した1つのサンプルは、私が送信するファイルを準備しようとしている場所に切り捨てられています。私はPythonからPHPへの翻訳が本当に確実ではない、あるいはPythonスクリプトがうまくいけばあなたが要求提出で、他のパラメータを送信する必要がbase64でエンコードされたコンテンツ送信するためには
<?php
// Test print a job:
$b64_pathname = PDF_PATH.'ec22c3.pdf'.'.b64';
$fileType = "application/pdf";
// Open the original file and base64 encode it:
$dataHandle = fopen(PDF_PATH.'ec22c3.pdf', "rb");
$dataContent = fread($dataHandle, filesize(PDF_PATH.'ec22ed167763a15e8591a3776f3c65c3.pdf'));
fclose($dataHandle);
$b64data = $fileType.base64_encode($dataContent);
// Store the base64 encoded file:
$ourFileHandle = fopen($b64_pathname, 'w');
fwrite($ourFileHandle, $b64data);
fclose($ourFileHandle);
// Read the contents of the base64 encoded file and delete it:
$fileHandle = fopen($b64_pathname, "rb");
$fileContent = fread($fileHandle, filesize($b64_pathname));
fclose($fileHandle);
unlink($b64_pathname);
// URL encode the file contents:
$file = urlencode($fileContent);
// Add the file and send to the printer:
$client->setParameterPost('content', $file);
$client->setParameterPost('contentType', $fileType);
$client->request(Zend_Http_Client::POST);
?>
これを試してみます。 – Cymbals