16

Web アプリケーションを介してレポートのようなデータを印刷するためのオプションを調査しています。実行可能ないくつかのオプションは、PDF の書き込み、Excel XML、Excel への HTML のダンプ、または activePDF webGrabber のようなツールの使用です。問題は、ブラウザー (私の場合は IE) からの印刷を制御できるが、開発に膨大な時間がかからないソリューションは何かということだと思います。私自身は経験がありませんが、PDF を生成するための恐ろしいコードを見たことがあります。

私が特に探している機能は、ユーザーの介入なしに横向きまたは縦向きに印刷することです。また、Web アプリの基本的なルック アンド フィールを印刷形式に変換するには、基本的なスタイルを制御することが重要です。

どんなアドバイスでも(特に経験から)いただければ幸いです。

4

9 に答える 9

11

すでにここで質問して難しい方法を見つけたので、純粋にブラウザ内で信頼できる正確な印刷結果を得ることはできません。IE7 でのみ動作することが約束されているイントラネット アプリケーションであっても、IE8 は間もなくリリースされ、その後 Firefox が許可され、CSS の細心の注意を払った管理はすべて無駄になります (苦い言葉に聞こえますか?)。

最も前向きな解決策は、弾丸をかじって PDF を生成することです。あなたが言及したツールは良いです。iTextiTextSharpも見てください。コツをつかめば、PDF レイアウトを行うのは HTML や CSS より難しくなく、結果が全員のコンピューター、全員のブラウザー、および全員のプリンターで正しく印刷されることがわかるでしょう。私は現在 iTextSharp を使用しています (まだ完成していませんが、学習と実験を続けています)。

ページ内から印刷オプションを制御する信頼できる方法も見つけられていないため、ユーザーに縦から横への変更、余白の設定または調整、印刷ヘッダーとフッターのオフの設定を任せても、長期的には、彼らが指示に従えない (または単に従わない) 場合、あなたは彼らを悩ませ、自分自身により多くの頭痛の種を生み出すことになります。

「関連する質問」サイドバーは非常に便利です。Web ページからプリンターを制御することに関する次の質問を見ました (どちらも「できない」という回答がありました)。

プログラムによる横向き印刷の選択

特定のプリンターへの印刷

于 2008-10-23T23:50:18.370 に答える
4

印刷用に特定のCSS スタイルシートを設定することもできます。これの良いところは、ユーザーに表示される既存の Web ページを取得し、形式を少し変更して派手なバナーやその他のインクを大量に消費するタイプの画像を削除してから、画面に表示されているものを印刷できることです。

一部のサイトには「印刷に適したバージョン」へのリンクがありますが、HTML ヘッダーに表示スタイルシートと印刷スタイルシートの両方への参照が含まれていても、ユーザーが表示中のページで CTRL+P を押すだけで機能します。

于 2008-10-23T23:48:56.127 に答える
3

私は C# アプリケーションで iTextSharp を使用して運が良かったです。少し手間がかかりますが、グラフィックスの経験があれば、それはすべて理にかなっていて、PDF の見栄えがよくなります (そして印刷もうまくできます)。

http://itextsharp.sourceforge.net/

恐ろしくないようにコードで PDF を生成したい場合は、素敵な PDF コードを書くようにしてください! たとえば、(Lego のように) 組み合わせて PDF に表示されるオブジェクトを表す、多数のインメモリ クラスを含むモジュール コードを記述します。これらのオブジェクトは、自分自身を PDF に描画する方法を知っているだけで済みます。

于 2008-10-23T23:51:13.533 に答える
2

SQL Server Reporting Services を見ることができます。http://www.devexpress.com/Products/NET/Reporting/のような多くのサードパーティ レポート ツールもあります。

于 2008-10-23T23:46:37.520 に答える
1

IEでのみ機能します。

http://www.meadroid.com/scriptx/index.asp

MicrosoftのInternetExplorerブラウザを実行しているクライアントおよびサーバーコンピュータからHTMLドキュメントを印刷する必要がある人のための絶対的な制御。

ScriptX印刷機能の基本的なサブセット(ヘッダーとフッターの設定、印刷方向、余白の粗い制御、およびブラウザーウィンドウ/フレーム印刷コマンド)は無料で利用でき、自由に配布できます。高度な印刷機能は無料ではありません。ScriptX対応のドキュメントは、高度な印刷を機能させるために、有効な発行ライセンスを参照する必要があります。

于 2008-10-24T00:14:43.813 に答える
1

他の人が言ったことを二番目に、あなたはブラウザをあなたが望むように印刷させることは決してないでしょう。経験から言えば、印刷メディアタイプのCSSは機能するように見えますが、実際には機能しません。特に、複数のブラウザーで作業する必要がある場合(そして、複数のバージョンのIEを異なるブラウザーとして含めているため) 、私はすべてのWebサイトが必要になると思います。)

本当に最善の方法は、PDFをその場で動的に作成することだと思います。プラットフォームに適した/余裕のあるPDFパッケージを見つけて、それを使用して実行します。私を信じてください、あなたはあなたがしたことをうれしく思います。

于 2008-10-24T00:17:46.070 に答える
1

これがあなたが探しているものかどうかはわかりませんが、media=print スタイル シートで CSS を使用しないのはなぜですか。印刷フォームが必要な特性を持つように、スタイル シートを設計します。または、データを CSV 形式でダウンロードし、ユーザーがデータから独自のレ​​ポートを作成できるようにすることで、Excel にエクスポートすることもできます。

実際の PDF と Excel には、Aspose.comのコントロールを使用しました。

于 2008-10-23T23:49:48.123 に答える
0

予想される顧客ベースが既知か未知かによって異なります。「誰でも」印刷可能なドキュメントを生成できるようにしたい場合は、PDF ルートが良い方法であるという意見に同意します。

PDFLibを使用して魅力的な PDF ドキュメントを簡単に作成することに成功しました。サーバー側モジュールを使用すると、デザイナーに InDesign または Illustrator でドキュメントを作成してもらい、プログラムで動的フィールドを一番上にドロップできます (Acrobat を使用してフィールドを配置することもできます)。

レポートと動的な行データの場合は少し面倒ですが、実行できます。

実際に印刷する場合 - ユーザーベースがわかっている場合 (オフィス環境など) にアプリケーションを作成する場合は、 BarTenderのようなラベル印刷アプリケーションを検討することができます。Web サーバーが API を介して印刷ジョブを呼び出すようにするか、BarTender アプリケーションが新しいジョブについてアプリをポーリングするようにすることができます。クライアントではなくサーバーが実際に印刷を行っているため、サイトで「印刷」を押してプリンターに印刷を開始させたい (他のユーザーの介入なし) Web アプリケーションに便利です。

于 2008-10-24T00:45:02.830 に答える