このサイトをご覧になるには、JavaScriptを有効にしてください。

[帳票開発ツール]Stimulsoft レポート&ダッシュボード ユーザーマニュアル

 

StiTextコンポーネントおよびそれを継承したコンポーネントには テキスト品質プロパティがあります。 このプロパティは、テキストの品質を選択/表示することができます。このプロパティは、3つの値のうちの1つを持つことができます。

 

標準

タイポグラフィ

Wysiwyg

標準 モードと タイポグラフィモードではGDI+ システムライブラリを使ってテキスト表示を行います。 これらのモードの違いは タイポグラフィモードでは、 テキストがアンチエイリアス付きで出力され、見た目は良いのですが、レンダリングが遅い ことです。Wysiwygモードでは、テキストはGDIシステムライブラリを使って表示されます。 このモードでのテキストは、他の2つのモードと比較して、美しく見えないかもしれません。

 

GDI +が存在し、より美しく、使いやすいのに、なぜGDIが必要なのでしょうか?この質問に答える ために、WYSIWYG定義に目を 向けてみましょう

WYSIWYG (「What You See Is What You Get」の頭文字)とは、編集中のコンテンツが最終出力と非常によく似ている編集方法の ことです。 レポートツールに関して言えば、テンプレートを編集するときと、紙に印刷した完成レポートを見るときとで、レポートの見た目が同じであることを意味します。しかし、実際にはそう簡単にはいかない。多くの方法では、モニターによってテキストの表示方法が異なり、プリンターによって印刷方法が異なることがあります。これは特に大きなテキストで顕著です。プレビューで異なるズームモードで表示した場合と印刷した場合、改行が異なる場所に配置されることがあります。これは多くの理由で発生します。GDI + システムライブラリでは、これらの問題のほとんどは解決されましたが、すべてではありませんし、時にはまだ不正確な表示が発生することもあります。残りの問題を解決するためには、テキスト出力の完全な制御が必要です。GDI +はそのような制御を提供しません。そこで Wysiwyg モードが追加 されました。 このモードでは、テキストはGDIを使用して出力されます。GDIメソッドにより、テキストの各文字の出力を制御することができます。これによって、ほとんどすべての問題を解消することができます。 このように、Wysiwyg モードは、他の2つの方法ほどきれいではありませんが、より正確にテキストを表示します。

 

この2つのモードの違いはもう一つあります。それぞれのモードでのテキストの表示方法が異なるため、行の長さの測定方法も異なります。 例えば、「テスト文字列」というテキストが入った3つのテキストボックスがあるとします。 最初のテキストボックスの テキスト品質標準、2番目のテキストボックスをタイポグラフィ、そして3番目の テキストボックスをWysiwygに設定します。 すべてのテキストボックスの自動幅プロパティをtrueに設定します。 レポートのデザイン・モードでは、次のようになります。

 

 

目視では、これらの線の違いは見えません。しかし、レンダリング後、テキストボックスの幅はテキストの幅に応じて計算され、すぐにモードの違いを見ることができます。

 

 

上の図では、フォントの種類とサイズが異なると、まったく異なる結果が得られることがよくわかります。このことは、例えばクロスタブコンポーネントを使用する場合、考慮しなければなりません。このコンポーネントでは、表の列の幅がテキストに応じてフィットし、異なるモードでは、表の幅を変更することができます。

 


 

上記の画像では明らかに、フォントの種類とサイズが異なるため、完全に異なる結果が得られることを示しています。あなたはコンポーネントCrossTabを使用しようとしている場合、これは、例えば、考慮する必要があります:テーブルの列のこのコンポーネントの幅は、テキストに合わせて、別のモードは、テーブルの幅はかなり変更することができます。

 

また、練習が示すように、これらのアプリケーションのWYSIWYGは、しばしば正しく動作していない。例えば、EXCELの編集モードと印刷プレビューでは、レポートが違って見えることがあります。編集モードで50%から200%にページスケールを変更するために開始されます場合は、さらに多くの違いが表示されます:100%のスケールテキストは50%でセルの端に到達しなかった、そして200%で最後の単語は、次の行に転送することができるセルに配置することができます。別の例 - 複数行のテキスト:異なるスケールで常に正しい計算行間ではなく、セル内のテキストの高さが異なる場合があります。セル内の1つのレベルでは、すべてのテキスト文字列を収まらない、すなわち、テキストを切り捨てることができます。別のレベルでは、同じテキストを圧縮することができ、セルの底は空白のままになります。でも、Excelのチーム "行の高さの自動調整 "は、特に小さなフォントで、予測できない結果を与える可能性があります。

 

したがって、MS-Officeでレポートをエクスポートするときに、我々は、以下に説明するいくつかのテクニックを使用することをお勧めします。推奨事項は、レポート作成のための一般的なガイドラインと、各エクスポートに対する推奨事項の2つに分けられます。

 

MS-Officeでレポートをエクスポートする際の一般的な推奨事項は、レポートのテンプレートを設計することです。

可能な限り、行末とテキストボックスの端の間のギャップを維持するようにしてください、この場合、問題は発生しないはずです。

前項と同様です。この場合、テキストボックスのサイズは隙間なく計算されるため、不必要に自動幅プロパティを使用しないでください。

テキストの行にテキスト品質の値を選択すると、テキスト行を最も長く受取り、これは、エクスポート後のテキストが正常に表示される可能性が高くなります。

 

MS-Wordでレポートをエクスポートする際の推奨事項

MS - Wordにエクスポートする場合は、次のトリックを使用する:テキストのフォントの各行のためにシールをインストールされています。フォントの密度の値は twips の単位で測定され、静的プロパティ StiOptions.Export.Rtf.SpaceBetweenCharacters (StiOptions.Export.Word2007.SpaceBetweenCharacters) に格納されています。デフォルトでは、このプロパティは-2に設定されています。 見た目には、この量のテキスト圧縮は目立ちませんが、ほとんどの場合、これで十分です。必要であれば、この値を変更することができます。このプロパティのゼロ値は通常のフォントに対応し、正の値は疎なフォントに対応します。

 

MS-Excelにレポートをエクスポートする際の推奨事項

MS-Excelにエクスポートする場合は、次のトリックを使用する:すべての問題のテキストボックスの右/または左の境界を設定することをお勧めします。Excelのテーブルセルは、ボーダーを持っていないので、ボーダーはガランティーロ・バニーギャップとしてテキストボックスをレンダリングするときにのみ考慮されます。ボーダーテキストボックスは、マージン、100分の1インチで指定された値を設定します。ほとんどの場合、右の境界線は100分の1インチ(プロパティ0, 1, 0, 0に書かれている)に等しいと設定すれば十分です。