Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. using Seagull.BarTender.Print;
  2. using System;
  3. using System.Threading.Tasks;
  4.  
  5. namespace ssapj.Sample
  6. {
  7. public static class PrintPreviewSample
  8. {
  9. public static async Task ShowPrintPreviewAsync(string btwFilePath)
  10. {
  11. using (var bartenderEngine = new Engine(true))
  12. {
  13. //ダイアログの表示を有効にしないとプレビュー表示できない
  14. bartenderEngine.Window.VisibleWindows = VisibleWindows.InteractiveDialogs;
  15.  
  16. var bartenderDocument = bartenderEngine.Documents.Open(btwFilePath);
  17.  
  18. bartenderDocument.PrintSetup.IdenticalCopiesOfLabel = 100;
  19.  
  20. var printPreviewSettings = bartenderDocument.PrintPreview;
  21.  
  22. //ツールバーを出すか出さないか
  23. //falseだと出さない
  24. printPreviewSettings.ToolbarVisible = true;
  25.  
  26. //ツールバー上のアイコンサイズ
  27. printPreviewSettings.ToolbarIconSize = BtToolbarIconSize.Small;
  28.  
  29. //ツールバーの上下位置
  30. printPreviewSettings.ToolbarPosition = BtToolbarPosition.Bottom;
  31.  
  32. //ツールバーの左寄せ右寄せセンタリング
  33. printPreviewSettings.ToolbarHorizontalAlignment = BtHorizontalAlignment.Right;
  34.  
  35. //ラベル表示の縮尺
  36. printPreviewSettings.ZoomPercent = 50;
  37.  
  38. //プレビュー上で印刷ボタンを押したときに印刷ダイアログを出すか(falseはダイアログを飛ばしてすぐ印刷)
  39. printPreviewSettings.ShowPrintDialogOnPrint = false;
  40.  
  41. //ステータスバーを表示するかどうか
  42. printPreviewSettings.StatusBarVisible = false;
  43.  
  44.  
  45. //画面内に表示するページ数をコントロール
  46. //横並び
  47. printPreviewSettings.PageLayoutColumns = 2;
  48. //縦並び
  49. printPreviewSettings.PageLayoutRows = 3;
  50. //2*3で1画面に6ページ
  51.  
  52. //Showメソッドの場合は非同期
  53. printPreviewSettings.Show();
  54.  
  55. //なのでこのループはプレビューを出したままでも走る
  56. for (var i = 0; i < 10; i++)
  57. {
  58. Console.WriteLine(i);
  59. await Task.Delay(100);
  60. }
  61.  
  62. await Task.Delay(10000);
  63.  
  64. //一時的に消したり
  65. printPreviewSettings.Visible = false;
  66.  
  67. await Task.Delay(10000);
  68.  
  69. //選択ページを最後にして
  70. printPreviewSettings.LastPage();
  71. //表示を戻したり
  72. printPreviewSettings.Visible = true;
  73.  
  74. await Task.Delay(15000);
  75.  
  76. //Closeはプレビューを完全に閉じる
  77. printPreviewSettings.Close();
  78. }
  79. }
  80. }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement