2

PHP Web ベースのアプリから、レポートとフォーマット済みフォームをクライアント側で印刷するためのソリューションを探していました。これらは HTML ページの印刷ではないことに注意してください。固定形式の領収書、注文書、元帳などを適切に配置します。

私が持っている何か。

PDF の使用: クライアント側からレポートをワンクリックで印刷する簡単な方法はありますか? PDF をウィンドウで開き、[ファイル] -> [印刷] を選択するという明白な選択は、あまりにも面倒に思えます。

Flash の使用: Flash を介したシングル クリック印刷を提供しているサイトを見ました。バックグラウンドで何が機能しているのかわかりません。この点に関する洞察は役に立ちます。

Active-X/Silverlight(?): ユーザーを IE だけに制限したくありません。しかし、このワンクリック印刷の要件は非常に厳格であるため、MS のみのプラットフォームでタスクが達成されるのであれば、MS のみのプラットフォームに切り替えることをお勧めします。

シングル クリックで印刷ダイアログ ボックスが表示され、ユーザーがもう一度クリックして印刷しても問題ないことに注意してください。しかし、それ以上の複雑さは欠点です。

4

3 に答える 3

3

形式が非常に厳格な場合は、PDF などの形式が必要です。HTML/CSS は非常に可変であるため、すべてのブラウザーで同じになることはありません。Plug Web ページには、実際のページの概念はありません (ただし、CSS 印刷メディア スタイルなどのサポートはいくつかあります)。

また、すべての人が実際にプリンターを持っているわけではありません。何かを強制的に印刷しようとするのは、実際には間違ったアプローチであり、通常、一部の顧客を先送りにします。

最小限の解決策は、emdia print CSS を使用して領収書ページを作成し、ほとんどの場合、責任があるように見せることです。

それだけでは不十分な場合は、PDF に移行する必要があります。残念ながら、 HTML + CSS から PDF への変換に関するこの質問が示すように、それは難しくなります。 PrinceXMLはこの変換で優れた仕事をしますが、安くはありません。 Html2PDFはオープン ソースの中で最高ですが、問題があります (詳細については、その回答を参照してください)。私は Java スペースで同じ問題を抱えており、そこの請求書はJasper Reportsを使用してしまいました。ただし、PHP 用の同等のレポート ソリューションは実際には見たことがありません。Python にはreportlabがあり、これもその種の仕事を行う候補のようです。

おそらく最良のオプションは、PDF を直接生成することです。少し面倒ですが、HTML から PDF への変換の多くの落とし穴を回避できます。 このチュートリアル(パート 2 ) では、その方法について説明します。

于 2009-01-18T09:11:57.827 に答える
1
<a href = "#" onclick = "window.print(); return false;">Print!</a>
于 2009-01-18T07:37:24.617 に答える
0

Nelson LaQuet にさらに言及すると、body タグの onload 属性に window.print() を配置して、ページの読み込み時に印刷ダイアログがポップアップするようにすることができます。

(または jquery の document.ready() を使用して同じことを達成するか、他の JS フレームワークが提供するものを何でも)

于 2009-01-18T07:55:35.733 に答える