トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   とにかくFLASH【FLASHに関して全般】
     printAsBitmap()関数を使用したA4サイズの紙へのフチなし印刷について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
wing1234jp
Åê¹ÆNo.38393
投稿日時: 2008-4-10 2:30
新米
居住地:
投稿: 4
使用環境:
WinXP,Flash Professional8
printAsBitmap()関数を使用したA4サイズの紙へのフチなし印刷について
はじめまして、FLASHの印刷について質問させてください。
もしご存知の方がいらっしゃいましたらご教授いただければ幸いです。

print()関数、またはprintAsBitmap()関数を使用して、FLASH領域内の特定ムービークリップをA3・またはA4サイズの紙にフチなし印刷(フィットページ印刷)したいと考えています。


具体的には、

(1)まず、ステージのサイズは横900×縦600ピクセルです。
(名前はtest.swf)

(2)test.swfを直接開いて使うのではなく、同階層にあるindex.html内に<object>タグで入れた上で使います。

↓以下index.html内ソース(classid部は省略してあります。)
--------------------------------------------------
<object classid="…" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="900" height="600" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="test.swf" />
<param name="quality" value="high" />
<embed src="test.swf" quality="high" width="900" height="600" name="テスト" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
--------------------------------------------------

(3)test.swf内には、印刷したいムービークリップ(名前:mc1 横:217px 高:307px ※A4の紙と同じ比率です)と、印刷ボタンを_rootに配置しています。

(4)現在、スクリプトはボタンにのみ記述してあり、

↓以下ボタンに記述してあるスクリプト
--------------------------------------------------
on(release){
printAsBitmap(_root.mc1, "bmax");
}
--------------------------------------------------

(5)index.htmlを開き、swf内印刷ボタンをクリックすると、A4サイズの紙にムービークリップmc1が印刷されることにはされますが、A4サイズの紙に対してかなり小さく印刷されてしまいます。


→この際に、A4の紙全体にフィットするようにムービークリップmc1を印刷する方法はありませんでしょうか?


※プリンターの設定をいじることなくフィットページ印刷できれば、と思っています。

※当方の開発環境がFLASH8なので、ActionScript3.0には対応していません。なので、ActionScript2.0以前での方法を探しています。

※ステージサイズ・ムービークリップmc1ともにA4サイズにするとフィットページ印刷できますが、上記サイズ(ステージ:横900×縦600 ムービークリップmc1:横217×高307)のままで行う方法を探しています。

※test.swf単体で開き、swf内印刷ボタンをクリックするとA4の紙にフィットページ印刷されるのですが、index.htmlにtest.swfを入れ、index.htmlを開いた上でswf内印刷ボタンをクリックすると、A4の紙に対してなぜか小さく印刷されます。


ムービークリップmc1が印刷された大きさを見てみると、

A4の紙の横幅:ムービークリップmc1の印刷された横幅=ステージの横幅(900px):ムービークリップmc1のFLASH内の横幅(217px)

という比率になってる感じがします。


もし上記方法でフィットページ印刷を行う方法をご存知の方がいらっしゃいましたらお力添えを願えればと思います、宜しくお願いいたします。
Tonpoo (gaienboy改め)
Åê¹ÆNo.38397
投稿日時: 2008-4-10 10:20
職人
居住地: 東京・神宮前
投稿: 717
使用環境:
Windows 7 Professional,
Flash CS5 Pro,
Flash Player 10,1,102,64
Re: printAsBitmap()関数を使用したA4サイズの紙へのフチなし印刷について
gaienboyです。
引用:
wing1234jpさんは書きました:
※ステージサイズ・ムービークリップmc1ともにA4サイズにするとフィットページ印刷できますが、上記サイズ(ステージ:横900×縦600 ムービークリップmc1:横217×高307)のままで行う方法を探しています。

※test.swf単体で開き、swf内印刷ボタンをクリックするとA4の紙にフィットページ印刷されるのですが、index.htmlにtest.swfを入れ、index.htmlを開いた上でswf内印刷ボタンをクリックすると、A4の紙に対してなぜか小さく印刷されます。


本当ですか?
フチなし印刷(フィットページ印刷)は、まずプリンタに依存する機能ですから、フチなし印刷に
対応していないプリンタではハードウェア的に無理だと思うのですが・・・。
また、ブラウザでSWF(またはSWFを埋め込んだHTML)を開いて印刷する場合、FirefoxやIEの
「ファイル>ページ設定」で設定した印刷時の余白にも影響されます。ですので、通常はフチなし
印刷をすることはできないのではないかと思います。
(ページ設定の余白の値を、HTML側から操作することってできるんでしたっけ?)


----------------
Tonpoo (a.k.a. gaienboy)
Tonpoo.com / TONPOOBLOG / twitter@tonpootwit

wing1234jp
Åê¹ÆNo.38400
投稿日時: 2008-4-10 16:01
新米
居住地:
投稿: 4
使用環境:
WinXP,Flash Professional8
Re: printAsBitmap()関数を使用したA4サイズの紙へのフチなし印刷について
ご返信ありがとうございます。

フチなし印刷という表現が悪かったですね、正確にはA4の紙の四隅には余白が多少できますが、「A4の紙全体的に印刷したい」ということなんです。四隅に余白が多少あるのは大丈夫です。

私の作ったswfでも、swfを直接開き、swf内の印刷ボタンをクリックして何も設定をいじらずに印刷すると、A4の紙全体的に印刷されてきます(四隅に1cmぐらいの余白はできます)。

swfファイルをhtml内に配置した上で、同様の操作を行うと、なぜか小さく印刷されてくるんですよね。(左と上の余白はほぼないものの、右の余白が15cm、下の余白が20cm…)


あと、今回はブラウザの「ファイル→印刷」機能を使うわけではなく、swf内に配置された印刷ボタンをクリックすることによって印刷しますので、ブラウザの設定には依存しないと考えますがいかがでしょうか?

もちろん印刷の際に表示されるウィンドウの設定には依存しますが、何もいじらないデフォルトの状態でA4全体的に印刷される方法を探しています。


私の作ったswfではうまくいかないのですが、以下のサイトですと、A4の紙全体に印刷されます。

http://contents.kids.yahoo.co.jp/postcard/player/index.html?PAPER=u00&SEASON=s03&F_VER=vr00&F_EVE=ev13


上記サイトもhtml内にswfを配置していて、かつカードのデザインもA4の紙に比べて小さい大きさに見えるのにも関わらず、A4の紙に印刷すると全体的に印刷されてきます。

上記サイトとまったく同じことができればいいのですが、どうしてもうまくいかないんですよね


お手数をおかけします、また何かご存知のことがあったら是非宜しくお願いいたします。
ひろゆき
Åê¹ÆNo.38401
投稿日時: 2008-4-10 16:52
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: printAsBitmap()関数を使用したA4サイズの紙へのフチなし印刷について
引用:
wing1234jpさんは書きました:
私の作ったswfではうまくいかないのですが、以下のサイトですと、A4の紙全体に印刷されます。

これ、たぶん、PrintJobクラスを使っているのだと思います。

また、スクリプトで、ある程度、制御する必要があると思うので、
2,3行程度のスクリプトでは解決できないのではないかと思います。


----------------
質問する際は、回答者に具体的な情報を与えてください。

wing1234jp
Åê¹ÆNo.38404
投稿日時: 2008-4-10 17:48
新米
居住地:
投稿: 4
使用環境:
WinXP,Flash Professional8
Re: printAsBitmap()関数を使用したA4サイズの紙へのフチなし印刷について
ご連絡ありがとうございます。

そうですね、Playerのバージョンが9.0ですし、PrintJobクラスの可能性が高そうですね。


個人的にいろいろテストしてみた結果、

(1)FLASHのステージサイズをW900×H600→W900×H1273に変更
(W900×H1273というのはA4と同じ比率です)

(2)印刷対象となるムービークリップを下の方のレイヤーにもう1個作り、サイズをW900×H1273に変更(名前はmc2)

(3)ムービークリップmc2の上に背景色と同じ四角を置き、隠す

(4)ムービークリップmc1(W217×H307)はあくまで見た目上としてそのまま残す

(5)swf上の印刷ボタンには以下のスクリプトを記述

--------------------------------------------------
on(release){
printAsBitmap(_root.mc2, "bmax");
}
--------------------------------------------------

(6)index.htmlとindex2.htmlを用意。
index2.html内にswfファイルを入れる。
index.htmlからwindow.openを利用してindex2.htmlをW900×H600で開く


上記のような手順で行い、index2.htmlからswf内印刷ボタンをクリックすると、A3・A4ともにフィットページ印刷することができました。

少々アナログな方法なので、ほんとはPrintJobクラスを使いたいところですが

AS2.0以前の対応策として記しておきます。


いろいろご教授いただきありがとうございました。
Tonpoo (gaienboy改め)
Åê¹ÆNo.38405
投稿日時: 2008-4-10 17:55
職人
居住地: 東京・神宮前
投稿: 717
使用環境:
Windows 7 Professional,
Flash CS5 Pro,
Flash Player 10,1,102,64
Re: printAsBitmap()関数を使用したA4サイズの紙へのフチなし印刷について
gaienboyです。

引用:
wing1234jpさんは書きました:
そうですね、Playerのバージョンが9.0ですし、PrintJobクラスの可能性が高そうですね。

(中略)

少々アナログな方法なので、ほんとはPrintJobクラスを使いたいところですが
AS2.0以前の対応策として記しておきます。


PrintJobクラス自体はAS2.0からAS1.0(FlashPlayer7)から対応しているみたいですよ?
(使ったことはまだ無いんですが・・・)

追補:
一つ後ろのニノミヤさんの投稿を受けて、内容を修正しました。(汗


----------------
Tonpoo (a.k.a. gaienboy)
Tonpoo.com / TONPOOBLOG / twitter@tonpootwit

ニノミヤ カズノリ
Åê¹ÆNo.38407
投稿日時: 2008-4-10 18:09
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: printAsBitmap()関数を使用したA4サイズの紙へのフチなし印刷について
引用:
gaienboyさんは書きました:
PrintJobクラス自体はAS2.0から対応しているみたいですよ?

細かい話ですが、
PrintJob クラスは Flash Player 7 からで、
AS1.0 でも使えます。

と書きつつ、自分も使った事がありません。
wing1234jp
Åê¹ÆNo.38408
投稿日時: 2008-4-10 18:10
新米
居住地:
投稿: 4
使用環境:
WinXP,Flash Professional8
Re: printAsBitmap()関数を使用したA4サイズの紙へのフチなし印刷について
ご返信ありがとうございます。

PrintJobクラス、AS1.0から対応しているんですね、マニュアルを見て3.0以降だと思い込んでいました、ありがとうございます。

http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000334.html

今回は開発スケジュールがタイトなため自分でPrintJobクラスを使ったスクリプトを書いている暇がないのですが、A4フィットページ印刷向けに具体的なスクリプトが書かれたサイトなどをご存知でしたらご教授願えればと思っております。

宜しくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops