biz-Streamマニュアル よくあるご質問(FAQ) PDF出力 コンポーネントを回転させて表示する方法を教えてください。

Qコンポーネントを回転させて表示する方法を教えてください。

A回答

biz-Streamでコンポーネントを回転させて表示させる方法についてご説明します。

1. コンポーネントの回転について

biz-Stream の現バージョンでは、一部(楕円、透かし)を除いて、コンポーネント自身を回転させて表示する専用の機能は用意されていません。一方、実際の帳票出力業務では、コンポーネントを回転させて出力したい場面が多く存在します。
このような場合、biz-Stream では <bs:import> タグを使用することによって、同等の機能を実現することができます。以下にコンポーネントの回転を目的とした <bs:import>の使用方法と、留意すべき点をご説明します。

2. <bs:import>タグについて

<bs:import>タグは、帳票生成時に、あらかじめ用意しておいた別の帳票レイアウトファイルを合成する場合に使用します。 <bs:import> タグでは、帳票レイアウト情報の取り込み時に、大きさや配置角度を指定することができます。この配置角度の調整機能を使用することで、任意の角度でのコンポーネントの回転が可能です。

例えば、テキスト出力を、レイアウトの関係上横書きのまま回転させて縦長に配置したい場合には、そのテキスト出力の <Label> を含む レイアウトXMLを別途作成し、<bs:import x="XXX" y="YYY" href="取り込むXMLファイル" rotate="90"/>で 指定した位置に配置できます。

右の例では、次のような記述で3つのレイアウトXMLを取り込んでいます。「rotate」の指定でそれぞれ異なる角度を指定している点にご注意ください。

《 レイアウトサンプル 》
<bs:import x="XX" y="YY" href="XMLファイル" rotate="0"/>
<bs:import x="XX" y="YY" href="XMLファイル" rotate="45"/>
<bs:import x="XX" y="YY" href="XMLファイル" rotate="90"/>

回転のサンプル

サイズを指定しない場合は取り込むレイアウトXMLと同じ大きさで出力されますが、サイズを指定した場合、その大きさに拡大、縮小されます。

3. 回転処理に関する補足説明、留意点

<bs:import> の矩形領域の左下の位置が回転軸になります。したがって回転前の状態で、左下を合わせた状態で回転した場合には、<bs:import>の領域からはみ出た状態になります。
例えば、90度回転の場合には左横に、270度回転の場合には真下に表示されます。この状態を回避するためには、<bs:import> を配置する位置を、回転後の位置を考慮したものとする必要があります。

右の例では、180度と270度の回転で領域からはみ出しています。前述のように、回転の基準点がコンポーネントの左下(例では「0度回転サンプル」枠の左下)です。基準点から左、及び下に十分なスペースが確保されていないため、回転後のコンポーネントが途中で切れています。

回転のサンプル

拡大縮小については、同比率(元のサイズ)で回転後に<bs:import> のimportされる <Layout>の領域の比率で縦および横方向に拡大縮小されます。つまり、同比率で回転後の出力に対して、 高さが (<bs:import>の高さ / importされる <Layout>の高さ ) 倍に、 幅が ( <bs:import>の幅 / importされる <Layout>の幅 ) 倍になります。 拡大縮小してからの回転ではないため、長方形 を 縦横異なる比率でimport し、90度単位でない回転をした場合、4つの角は直角ではなくなります。

右の例では、次のような記述で3つのレイアウトXMLを取り込んでいます。

《 レイアウトサンプル 》
<bs:import x="XX" y="YY" href="XMLファイル" rotate="0"/>
<bs:import x="XXの2倍" y="YY" href="XMLファイル" rotate="45"/>
<bs:import x="XX" y="YYの2倍" href="XMLファイル" rotate="90"/>

回転のサンプル