MESCIUS SPREAD for Windows Forms 17.0J
規則を使用した最適化

製品では、最適な印刷方法を自動的に決定する機能を提供しています。印刷の最適化には既定の規則が適用されますが、適用する規則を選択することもできます。たとえば、既定では、シートが縦方向のページ幅に収まらない場合にシートを横向きに印刷する規則が有効ですが、これを無効にすることができます。

以下、指定できる規則です。規則は有効、または無効にでき、各規則を表すオブジェクトのプロパティを設定することでカスタマイズできます。

規則オブジェクト 説明
LandscapeRule シートを横向きまたは縦向きのどちらで印刷するかを定義します。
ScaleRule シートを印刷するための最適な縮尺率を定義します。100%(StartFactor = 1)から開始され、指定の段階値によって、最小サイズ(EndFactor)まで縮小されます。 既定値はそれぞれStartFactor = 1、EndFactor = 0.6、および Interval = 0.1となります。
BestFitColumnRule 印刷ページ上での、シートの列幅の最適な調整方法を定義します。

既定では、シートの印刷は以下のロジックにしたがって最適化されます。

各規則のオブジェクトを使用して、このロジックをカスタマイズできます。各規則のオブジェクトをカスタマイズすると、既定の規則は無視され、カスタマイズした規則が印刷時に適用されます。SmartPrintRulesCollectionオブジェクトを使用することで、規則のコレクションを設定できます。また、PrintInfoオブジェクトのUseSmartPrintプロパティで、これらの規則を使用するかどうかを設定できます。

設定方法

  1. PrintInfoオブジェクトを作成します。
  2. 既定で適用される最適化のロジックを変更するには、新規のSmartPrintRulesCollectionオブジェクトを作成します。
  3. PrintInfoオブジェクトのUseSmartPrintプロパテをTrueに設定します。
  4. 印刷対象のシートを表すSheetViewオブジェクトのPrintInfoプロパティに、作成したPrintInfoオブジェクトを設定します。

サンプルコード

次のサンプルコードは、既定で適用される最適化のロジックをカスタマイズするために、SmartPrintRulesCollectionオブジェクトを作成します。この例では、列幅を最長の文字列に合わせて縮小することでシートがページに収まる場合、列幅を縮小して印刷を行います。列幅の縮小によってもシートがページに収まらない場合、縮小したままの状態で、シートの横向き印刷を試みます。それでもページに収まらない場合、これらの設定値を維持したまま、シート全体を縮小します。縮小率は100%から開始し、20%ずつ、最大40%まで縮小します。

C#
コードのコピー
// 印刷規則を作成します。
FarPoint.Win.Spread.SmartPrintRulesCollection printrules = new FarPoint.Win.Spread.SmartPrintRulesCollection();
printrules.Add(new FarPoint.Win.Spread.BestFitColumnRule(FarPoint.Win.Spread.ResetOption.None));
printrules.Add(new FarPoint.Win.Spread.LandscapeRule(FarPoint.Win.Spread.ResetOption.None));
printrules.Add(new FarPoint.Win.Spread.ScaleRule(FarPoint.Win.Spread.ResetOption.All, 1.0f, .4f, .2f));
// PrintInfoオブジェクトを作成し、各プロパティを設定します。
FarPoint.Win.Spread.PrintInfo printset = new FarPoint.Win.Spread.PrintInfo();
printset.SmartPrintRules = printrules;
printset.UseSmartPrint = true;
// 先頭シートのPrintInfoプロパティを設定します。
fpSpread1.Sheets[0].PrintInfo = printset;
// シートを印刷します。
fpSpread1.PrintSheet(0);
Visual Basic
コードのコピー
' 印刷規則を作成します。
Dim printrules As New FarPoint.Win.Spread.SmartPrintRulesCollection()
printrules.Add(New FarPoint.Win.Spread.BestFitColumnRule(FarPoint.Win.Spread.ResetOption.None))
printrules.Add(New FarPoint.Win.Spread.LandscapeRule(FarPoint.Win.Spread.ResetOption.None))
printrules.Add(New FarPoint.Win.Spread.ScaleRule(FarPoint.Win.Spread.ResetOption.All, 1.0F, 0.4F, 0.2F))
' PrintInfoオブジェクトを作成し、各プロパティを設定します。
Dim printset As New FarPoint.Win.Spread.PrintInfo()
printset.SmartPrintRules = printrules
printset.UseSmartPrint = True
' 先頭シートのPrintInfoプロパティを設定します。
FpSpread1.Sheets(0).PrintInfo = printset
' シートを印刷します。
FpSpread1.PrintSheet(0)

SPREAD デザイナの使用

  1. 印刷設定を行うシートのシート タブを選択します。
  2. [ページレイアウト]オプションを選択します。
  3. 「スマート印刷」タブをクリックします。
  4. スマート印刷機能による印刷を行うには、[スマート印刷機能を使う]チェックボックスを ON にします。
  5. テキスト ボックスに、スマート印刷のデフォルトの印刷規則が一覧表示されます。 必要に応じて、〈削除〉ボタンをクリックしてこれらの規則を削除し、テキスト ボックスの下のコントロールを使用して、規則とそのオプションを追加します。
  6. 〈OK〉をクリックし、[印刷オプション設定]ダイアログを閉じます。
  7. [ファイル]メニューから[適用して終了]を選択し、変更をコンポーネントに適用して SPREAD デザイナを終了します。
参照

 

 


© MESCIUS inc. All rights reserved.