私は現在、php バックエンド システムに直接印刷できるようにする機能を追加しており、Google のクラウド プリントと連携させようとしています。アプリをオンライン ショッピング カートと想像してみてください。誰かがログインする必要なく、ピッキング メモ(完了した注文)を印刷したいと考えています。サーバーはリモートで、宛先にはクラウド対応プリンターがあります。
これまでのところ、HTML、プレーンテキスト、または URL を PDF に渡すだけで、インターフェースを使用して印刷することに成功しています。印刷をカラー、フチなし、印刷品質に設定できます。
ただし、問題が発生したのは、システムが作成する PDF が公開されていないため、ファイルに URL を渡すことができず、ファイルの内容を渡す必要があることです。
Web で見つけた例の 1 つを修正しようとしても成功しませんでした。しかし、私は言語を知らないので、苦労しています。
Python HEREの別の例をもう一度試してみましたが、成功しませんでした!
インターフェイスを操作するために、PHP と Zend フレームワークを使用しています。これは私が試した1つのサンプルで、送信するファイルを準備しようとしているところまで切り詰めています。たとえば、pythonからphpへの変換について、またはpythonスクリプトが機能するかどうかはよくわかりませんが、これは何ですか私が思いついた:
<?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);
?>