2009-07-27 10 views
1

私はASP.NETでJqueryを使ってカレンダーを作成しています。 そして私はPrintを実装しようとしています。 シンプルなHTMLや画像を問題なく印刷できます。 しかし、Googleカレンダープリントのようなプリントを作成する方法を理解できません。Googleカレンダープリントはどのように機能しますか?

あなたは、「カレンダー印刷プレビュー」で、より多くのオプション(クロスブラウザ)がポップアップする印刷ダイアログを印刷この印刷ダイアログは、単純なブラウザの印刷異なる方法 一部、 そして、彼らはより多くの制御を持っているように見える押しますたとえば風景印刷のように設定します。

これを実装する方法を知っている人はいますか?

おかげ

+0

カレンダーではない –

答えて

2

それは.PDFドキュメントを生成するサーバーサイドスクリプトに掲載されているいくつかのオプションを持つだけでポップアップウィンドウです。

あなたは、画像/ PDFファイルを生成し、サーバーサイドスクリプトを使用せずに似た何かをする

<link media="print" rel="stylesheet" type="text/css" href="main.css" /> 

を使用することができます。

media = "print"に注意してください。これは、ページを印刷するときに指定されたスタイルシートが使用されることを意味します。カスタムcssルールを指定することができます(ナビゲーションの非表示、カレンダーの見栄えを紙にするなど)。

編集:

コメントに応じて。 htmlをpdfに変換すると、まったく同じに見えます。 Googleカレンダーでそのフォームを送信すると、それらのオプションをすべて利用して、それらからPDFを生成します。ランドスケープを選択した場合は、ページを回転し、ページに収まるようにすべてを再計算します。あなたのためにそれを簡素化するために、あなたは提出したオプションに従ってサーバー側にイメージを描き、それをpdfに入れます。

これまでにやっていないのはそれほど簡単ではありません。私はその印刷ページでCSSとJavaScriptを使いこなして、JSやCSSのルールを使って風景と肖像画を切り替えることでそのようなことを模倣できるかどうかを見てみましょう(ユーザーがそれらをクリックすると "風景"、 "ポートレイト"指定された用紙サイズに合うようにカレンダーのCSSルールを変更します)。あなたがcssに精通していなければ、それは難しいでしょう。

googleが行った経路は非常に優れていますが、再現するのは簡単ではありません。

コメントの詳細。

+0

カレンダーhtmlをwindow.print()ボタンを持つ新しいウィンドウにコピーしています。 だから私はhtmlをpdfに変換してpdfを印刷する必要がありますか? これはどのようにすることができますか? そして、ランドスケーププリントを設定するなど、pdfプリントを制御するにはどうすればよいですか? ありがとうございます。 – SirMoreno

+0

更新された回答。 –

+0

ありがとうございました。 CSSオプションを確認しましたが、ランドスケーププリントを設定する方法が見つかりませんでした(スタイルを変更することのみ可能です)。 – SirMoreno

関連する問題