2016-07-19 8 views
1

php 7用のプリンタ拡張はありますか?または誰かがフォームPHPを印刷する方法を解決するソリューションを提供できますか?それともソケットを使うべきですか?私は5.6からDLLを試しましたが、それはうまくいきませんでした。(php7 printer extension/dllはありますか?

+0

Unix風オペレーティングシステムを使用している場合は、PHPサーバに[CUPS](https://www.cups.org/)をインストールし、プリンタをインストールし、 'exec( 'lpr -P printer_name /パス/ to/filename.txt '); ' – MonkeyZeus

+0

lprは[ウィンドウズでも利用できます](https://www.itg.ias.edu/content/connect-network-printer-lpr-windows7) –

答えて

0

the common tasks以外の拡張子をビルドするためにソースコードを利用できるようにするには、たくさんのことがあります。私はまた、成功していない(it builds but it doesn't work)と私自身もそれをやろうとしました。

私が見つけてまだ使っている最も簡単な方法POS(領収書)プリンタは単なるものです

system("(echo ".$TextToBePrinted.") >\\\\MachineNameOrPreferablyFixedIp\\PrinterNetworkName"); 

Ev新しい行が必要となる時があります。 Nullとnew​​Line文字は実際にカスタムテキスト全体を含む1つのコマンドで送信することは可能ですが、非常に難解です。同じ種類のプリンタの場合は、esc-pos php libraryが利用可能です。

注:ローカルプリンターであれ、「\\ 127.0.0.1 \ PrinterNetworkName」として使用する場合は、共有してください。 PrinterNetworkNameは無効な文字をファイルと同じにするのを避けるので、 "Generic/Text Only"は "\\ 127.0.0.1 \ Generic Text Only"としてアクセスする必要があります。 、作成、書き込み、およびため正しく関連付けられている拡張子を持つsystem("print ...");ファイル:一般的な使用のプリンタ用

Simmilar選択肢は、あなたが気にしない場合は、再度、COMN/LPTnにINGの
system("echo ...");は、偽造または実際のポートまたは、dosprnとfwriteのを使用して、または含まあなたが与えたファイル名

ハードコーダーの場合は、バイナリ(.exe)をビルドして、カスタムポートを聞くか、system(...);というバイナリを直接呼び出して印刷することができます。ブーストを使用することはそれほど難しいことではありません。実際のハードコアの決定は、dll拡張を構築することです(ところで、C++のWindows APIには、紙やフォントのサイズ、スタイルなどを管理するためにPHPのような印刷用の類似機能が含まれています)。

バージョンの異なる2つの数字のPHPとdllは動作しません。だからそれを起こそうとはやめてください。

+1

本当に' fastidious' ?私はあなたが必要とするすべてがエコーであると想像します.escapeshellarg($ text) ' – hanshenrik

+0

これは役に立ちました。ありがとうございました! –

関連する問題