printer_write関数を使用して、サーバーに接続されているプリンターでPHPを使用してテキストを印刷できることを理解しています。しかし、この関数を使用して、サーバー上にあるpdfファイルを印刷できますか?
前もって感謝します!
はい、可能ですが、かなり面倒です。最近、顧客向けのラベルを PHP から印刷する必要があるアプリケーションを作成しました。Windows サーバーと、独自の印刷用ソフトウェアを備えたプリンターを使用することにしました。
これは、生成されたラベルを印刷するために最終的に得られたコードです。
system('"C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe" /p "C:\www\pdf\label.pdf"');
これは、特定のプリンターとプラットフォームに固有のソリューションであることに注意してください。適切な Linux ドライバーを備えたプリンターまたは Windows 用の他のプリンターの同様のソリューションは、コマンド ラインを介してファイルを処理する同様の方法を備えていれば、正常に機能するはずです。
いろいろいじりましたが、最終的には次のようになりました。
exec("\"C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRd32.exe\" /t \"C:\\PathToPDF.pdf");
Foxit に Brother プリンターでより小さいラベル サイズを使用させることができませんでした。デフォルトで 4x6 インチのラベルになり、エラーが発生します。 (Brother QL-1060N を使用)デフォルトのラベル サイズ。
Adobe Reader 9 を使用してこれを回避し、適切な印刷設定を使用して、サーバー コンピューター上で常に開いたままにしました。私が 9 を使用するのは、何らかの理由で Adobe Reader X が最初のラベル以降のすべてのラベルで 1 ACSII 文字オフになるためです。(例: 1=2、8=9、=!)。
ありがとうカール。これが将来の読者に大いに役立つことを願っています!=)
ハッピーコーディング