SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CurlデベロッパーセンターPick Up(AD)

Curl Apps Galleryで注目を集める「見積デモ」を紐解く
~CurlにおけるWeb帳票印刷~

  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード サンプルソース (2.6 KB)

 今回はサンプルアプリに実装されている「印刷機能」と「入力チェック機能」について見ていきます。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 これまでの連載では見積デモのGUIの機能について着目し、説明を行ってきました。この連載は今回で最終回となりますが、最後は印刷の機能について見ていきたいと思います。見積デモの見積書タブには、最終的に作成された見積書を印刷するための『見積書発行』ボタンが用意されています。このボタンには以下の機能が組み込まれています。

  1. 入力チェックを行う
  2. 印刷する

 今回は、この印刷を実行するまでの処理について見ていきます。

印刷機能とは

 Curlにおける印刷機能とは、画面と同様の方法で生成した帳票などのグラフィックを、ローカルのプリンタを利用して印刷することができる機能のことです。多くのWebアプリケーションでは、HTMLで帳票のような複雑なグラフィックを作成することができないため、ローカルで印刷を行う際はサーバ側で一度PDFなどに出力し、そのPDFをダウンロードさせて印刷を行う、といった方法をとることが一般的です。

 それに対してCurlは、クライアント側で印刷するグラフィックを生成し、プリンタに直接印刷を行わせることができます。これによりダウンロードする時間を省けるため、迅速な印刷が可能になります。また、ただ印刷を行うだけでなく、印刷する用紙のマージンやヘッダー・フッターなどを指定するほか、印刷の向きや印刷するプリンタ名なども指定することができます。

 Curlで印刷を行うときにはprint-graphicというプロシージャを呼び出します。これだけで印刷を実行できるのですが、簡単すぎて逆に分かりづらいと思いますのでサンプルソースを見てみましょう。

{curl 6.0 applet}
{curl-file-attributes character-encoding = "shift-jis"}

||印刷したいグラフィックを生成します。
{let print-image:Frame =
    {Frame
        width = 100pt,
        height = 100pt,
        background = "yellow",
        "印刷に成功しました"
    }
}

{CommandButton
    label = "印刷",
    {on Action do
        ||印刷したいグラフィックを指定して、
        ||印刷を実行します。
        {print-graphic print-image}
    }
}

 このサンプルを実行すると、以下のようなボタンが表示されます。

 このボタンを押下するとプリンタのダイアログが表示されて、さらに『OK』ボタンを押下すると以下のようなグラフィックが印刷されます。

 印刷の基本はこれだけです。この時にprint-graphicのプロパティを設定することでプリンタ名を指定したり、印刷の向きやヘッダー・フッターなどを指定したりすることができます。

 ところで、印刷といえばセットで「プレビュー」機能も用意されているものです。プレビューは、印刷するグラフィックを何らかの方法で表示してあげればよいので、先程のサンプルコードに以下の記述を追加するだけで実現できます。

{curl 6.0 applet}
{curl-file-attributes character-encoding = "shift-jis"}

||印刷したいグラフィックを生成します。
{let print-image:Frame =
    {Frame
        width = 100pt,
        height = 100pt,
        background = "yellow",
        "印刷に成功しました"
    }
}

{CommandButton
    label = "印刷",
    {on Action do
        ||印刷のプレビューを表示します。
        {popup-message
             title = "印刷プレビュー",
             print-image
        }
        
        ||印刷したいグラフィックを指定して、
        ||印刷を実行します。
        {print-graphic print-image}
    }
}

 これを実行すると、プリンタのダイアログが表示される前に以下のようなプレビューのダイアログが表示されます。

次のページ
入力チェックとは

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
CurlデベロッパーセンターPick Up連載記事一覧

もっと読む

この記事の著者

株式会社カール 宮崎 直人(カブシキガイシャカールミヤザキナオト)

リッチクライアント言語『Curl』の普及に努め、自社主催のセミナーの講師や導入コンサルタントなどを担当。現在はマーケティングにも携わり、HPの更新やコンテンツの拡充なども行っている。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3765 2009/05/11 13:02

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング