4

どうやら、A4およびA5形式でのHTMLの印刷に関する質問は、 RTF形式のテキストの印刷に関する質問とまったく同じであるため、詳細をもう少し詳しく説明した別の質問があります。

注文を印刷するC#(WinForms)プログラムを開発しています。このプログラムは、.NET2.0フレームワーク用に作成されています。プログラムは、ユーザーの干渉なしに(ダイアログなしで) 、 A4とA5の両方の用紙形式で印刷できる必要があります。印刷された注文は、Webブラウザの場合とまったく同じように表示されます。このサンプルがどのように表示されるかを確認したい場合は、このサンプルを確認できます。ご覧のとおり、非常に基本的なものです。

これが私がこれまでに試したことです:

  • StackOverflowで質問すると、重複しているため閉鎖されました。重複は見つかりませんでした。
  • WebBrowser要素を使用して印刷します。A5を印刷できないので、それは解決策ではありませんでした。
  • HTMLをRichTextBoxに入れて、それを印刷します。動作しましたが、Webブラウザで表示されるようなHTMLが表示されませんでした。これは要件です。コードはここにあります。
  • 印刷する前にPDFに変換することを検討しましたが、それは費用がかかるか、使用するのが不可能です(私にとって、C#の経験がほとんどないプログラマーとして)。これらのツールは通常、ユーザーのコンピューターにインストールされているソフトウェア(印刷用のAcrobat Readerなど)に依存していますが、これは避けようとしています。
  • Googleの関連するすべてのリンクを少なくとも13ページ表示しましたが、運が悪かったです。私はこれに約2日半います。

ユーザーの干渉や外部の依存関係なしに、ブラウザで表示されるようなフォーマットされたHTMLを(無料で)印刷するためのより良い方法がある場合は、共有してください。私は本当にこれが機能する必要があります。

この質問を閉じないでください。自分の問題を説明する解決策や記事を積極的に検索したと言ったら、信じてください。いくつかは関連していましたが、私が抱えている問題を解決しませんでした。私もこのウェブサイトで高度な検索を使用しましたが、運がありませんでした。

お時間を割いていただきありがとうございます。

注:重複が見つからなかったと言うときは、文字通り自分の問題を説明している記事が見つからなかったことを意味します。

4

2 に答える 2

1

非常に多くの異なるユーザー、ブラウザー、およびプリンターで HTML からの最終的な印刷結果を完全に制御できる方法はありません。私は社内のビジネス アプリケーション用に A4 に印刷しました。ユーザー ベースは非常に限られており (おそらく 5 人)、特定のプリンターにすべての印刷を行っていましたが、それでも不安定でした。ユーザーの介入なしに A4 と A5 を区別する方法があるとは思えません。つまり、印刷オプションから用紙サイズを選択する必要があります。

PDF SharpSharp PDF、およびiTextSharpをご覧になることをお勧めします。これらはすべてオープンソースです。

これはすべてサーバーから実行できます。つまり、ユーザーのマシンに何もインストールする必要はありません。これを使用して用紙サイズを選択できるはずですが (100% 確実ではありません)、最終的にはエンド ユーザーが何に印刷するかはユーザー次第です。

于 2013-01-16T15:38:03.123 に答える
0

here で説明されている PrintHelper メソッドを使用して、これを正常に実行しました。これを使用して、複数の場所にいるユーザーが CMS システムからバーコード ラベルを印刷できるようにしました。ラベルには、レイアウト、フォント サイズ、配置に関する厳しい要件があり、これらはすべて HTML と CSS を使用して管理されていました。

PrinterHelper クラスは、印刷データが入力された Web コントロール (複数のラベルを許可するためにリピーターを使用しました) を渡すことで機能し、ヘルパー クラスはメモリ内にページを構築し、印刷ダイアログを開きます。次のように CSS を登録します。

pg.ClientScript.RegisterStartupScript(pg.GetType(),"LabelCSS","<link href=\"Styles/labelPrint.css\" rel=\"stylesheet\" type=\"text/css\" />");

ただし、Firefox でしか機能せず、マージンをゼロに設定するなど、いくつかの設定を変更する必要がありましたが、CMS ではそのブラウザーを使用する必要があったため、問題はありませんでした。

于 2013-01-16T16:00:39.397 に答える