3

しばらくの間、Web ベースのシステムを開発してきました。クライアントはデスクトップ アプリケーションに慣れていることが多く、通常、クライアントのシステムを Web ベースのバージョンにアップグレードしています。これには多くのメリットがありますが、多くの場合、出力の印刷という 1 つの欠点に遭遇します。私たちが開発するシステムは、次のような印刷が必要なドキュメントを生成することがよくあります。

  • 請求書
  • 領収書
  • 注文情報
  • 取扱説明書
  • 小切手

これらのドキュメントの多くは、事前に確立された形式を持っており、同じまたは非常に類似した形式で表示されます。ただし、これはしばしば苦痛です。発生した問題は次のとおりです。

  • 多くの場合、ブラウザーはヘッダーとフッター (ページ番号、日付など) を印刷しますが、これはクライアントのみが制御できます。
  • 特定の印刷スタイルはサポートが不十分で (例: page-break-inside)、情報が切り取られる場所を制御するのが難しくなります。
  • 余白と用紙サイズはアプリケーションで制御できないため、特定のドキュメントを印刷する必要があるたびにユーザーがこれを変更する必要があります。
  • 私の経験では、一般的なユーザーとしてこれを行う場合、用紙のサイズと方向を変更することは面倒です. 何らかの理由で、ブラウザは用紙サイズの変更を即座に表示しません。多くのクライアントで、用紙サイズを変更するように指示し、[用紙の向きを変更] を 2 回クリックする必要がありました (水平方向から垂直方向へ、そして再び垂直方向へ)。水平)、新しい用紙サイズを適切にプレビューするため。
  • Web ブラウザーは (当然のことながら) 文書を自動的に印刷することはできません。Web アプリケーションから領収書を直接印刷するには、すべてのクライアントにローカル Web サーバーをインストールし、ローカル Web ページを呼び出す必要がありました。ローカルで印刷します。かなりの回り道。

全体として、非常に特別に設計されたドキュメントを生成し、それらを同じ方法で印刷することは、時間と労力がかかりすぎて、結果が悪いことが証明されています. 私の質問は、この問題にも対処し、より良い解決策を見つけた人はいますか? 私の現在の解決策は、膨大な時間を費やし、ユーザーを教育し、ユーザーが好みの印刷出力を得るために必要なすべての手順を文書化し、人員、​​コンピューター、およびプリンターが変化するたびに繰り返し繰り返すことです。

4

2 に答える 2

0

最良の方法は古い学校であることがわかりました。ドット マトリックスの印刷済みフォーム プリンターで一晩に何千ページも印刷する必要があります。そのため、印刷コントロールを使用する方法に戻り、文字どおりすべてを画面に送信するのが最適であることがわかりました。これは、クーリエのように 1 文字の固定フォント サイズであるかのようです。

したがって、print_field($xxxx,10,"right"); があります。この関数は、スペースを埋め込むか、10 を超える場合は切り捨てて、それを画面に表示します。右は、右パッドが左パッドまたは中央に配置される機能です。次に、print_spaces(2)、print_line(1)などを実行できます...

次に、すべてが正確に配置されます。繰り返しますが、面倒に思えますが、一度いくつかの関数を開発すると、実際にはカスタム フォームが簡単になります。すべてのデータ呼び出しを行うラッパー プログラムがあります。そして、xxx​​_header.php、xxx_detail、xxx_footer、必要に応じて含まれるページを作成し、通常はループで呼び出される print_xxx 関数の数行だけです。

これを行う場合は、$ln_cnt 行数を維持することを忘れないでください。詳細の最後に、 $blank_lines_needed=$page_length-$ln_cnt を取得して print_line($blank_lines_needed); のループを実行する必要があるためです。

これも多いように思えますが、このようにすれば毎回必ずうまくいきます。おそらくほとんどの企業よりも多くのドット マトリックス フォームを Web 経由で毎日印刷しています。米国全体で、Web 経由で事前に印刷されたフォームを毎晩おそらく 60,000 ページ印刷しています。お役に立てれば。

次に、CURL を使用するジョブと、正確なコピーを pdf に電子的にレンダリングできる pdf ユーティリティがあります。したがって、顧客が選択した場合は、請求書を電子メールで送信できます。ただし、ドット マトリックスに送信すると、正確なサイズが印刷されるため、常に同じように見えます。

于 2014-11-22T14:18:56.827 に答える