TateChuYoko.vb
  1. ''
  2. '' This code is part of Document Solutions for Word demos.
  3. '' Copyright (c) MESCIUS inc. All rights reserved.
  4. ''
  5. Imports System.IO
  6. Imports System.Drawing
  7. Imports System.Collections.Generic
  8. Imports GrapeCity.Documents.Word
  9. Imports GrapeCity.Documents.Drawing
  10. Imports GrapeCity.Documents.Pdf
  11. Imports GrapeCity.Documents.Text
  12.  
  13. '' This sample demonstrates how to render short upright Latin text or numbers
  14. '' in a block of vertical text. This is used in Chinese, Japanese and
  15. '' Korean vertical text. In CSS this is referred to using the Japanese
  16. '' name 縦中横 (tate chu yoko). In MS Word, this is referred to as
  17. '' Horizontal In Vertical, and can be set using the Style.Font.EastAsianLayout.HorizontalInVertical
  18. '' property.
  19. Public Class TateChuYoko
  20. Public Function CreateDocx() As GcWordDocument
  21. Dim doc = New GcWordDocument()
  22.  
  23. doc.Body.Sections.First.PageSetup.TextFlowDirection = TextFlowDirection.TopToBottomRightToLeft
  24.  
  25. '' Paragraph style for main caption:
  26. Dim sMainCaption = doc.Styles.Add("My Main Caption", StyleType.Paragraph)
  27. sMainCaption.Font.Name = "MS PGothic"
  28. sMainCaption.Font.Bold = True
  29. sMainCaption.Font.Size = 14
  30. sMainCaption.Font.Color.RGB = Color.DarkBlue
  31. sMainCaption.ParagraphFormat.KeepWithNext = True
  32.  
  33. '' Paragraph style for other captions:
  34. Dim sCaption = doc.Styles.Add("My Caption", StyleType.Paragraph)
  35. sCaption.BaseStyle = sMainCaption
  36. sCaption.Font.Size = sMainCaption.Font.Size - 1
  37.  
  38. '' Paragraph style for text:
  39. Dim sText = doc.Styles.Add("My Text", StyleType.Paragraph)
  40. sText.Font.Name = "MS PGothic"
  41. sText.Font.Size = sCaption.Font.Size - 1
  42. sText.ParagraphFormat.KeepTogether = True
  43.  
  44. '' Char style for 'Tate Chu Oko' text fragments:
  45. Dim sTate = doc.Styles.Add("My TateChuOko", StyleType.Character)
  46. sTate.Font.EastAsianLayout.HorizontalInVertical = True
  47.  
  48. Dim pars = doc.Body.Sections.Last.GetRange().Paragraphs
  49.  
  50. Dim par = pars.Add(sMainCaption)
  51. Dim runs = par.GetRange().Runs
  52. runs.Add("PDF", sTate)
  53. runs.Add("ファイルをコードから")
  54. runs.Add("API", sTate)
  55. runs.Add("を利用することで操作できます。クロスプラットフォーム環境で動作するアプリケーションの開発を支援する")
  56. runs.Add("API", sTate)
  57. runs.Add("ライブラリです。")
  58.  
  59. '' Item 1
  60. par = pars.Add(sCaption)
  61. runs = par.GetRange().Runs
  62. runs.Add("PDF", sTate)
  63. runs.Add("用の包括的な")
  64. runs.Add("API", sTate)
  65.  
  66. par = pars.Add(sText)
  67. runs = par.GetRange().Runs
  68. runs.Add("PDF", sTate)
  69. runs.Add("バージョン「")
  70. runs.Add("1.7", sTate)
  71. runs.Add("」に準拠した")
  72. runs.Add("API", sTate)
  73. runs.Add("を提供し、レイアウトや機能を損なうことなく、豊富な機能を備えた")
  74. runs.Add("PDF", sTate)
  75. runs.Add("文書を生成、編集、保存できます。")
  76.  
  77. '' Item 2
  78. par = pars.Add(sCaption)
  79. runs = par.GetRange().Runs
  80. runs.Add("完全なテキスト描画")
  81.  
  82. par = pars.Add(sText)
  83. runs = par.GetRange().Runs
  84. runs.Add("PDF", sTate)
  85. runs.Add("文書にテキストの描画情報が保持されます。テキストと段落の書式、特殊文字、複数の言語、縦書き、テキスト角度などが保持さるので、完全な形でテキスト描画を再現できます。")
  86.  
  87. '' Item 3
  88. par = pars.Add(sCaption)
  89. runs = par.GetRange().Runs
  90. runs.Add(".NET Standard 2.0 準拠")
  91.  
  92. par = pars.Add(sText)
  93. runs = par.GetRange().Runs
  94. runs.Add(".NET Core、.NET Framework、Xamarinで動作するアプリケーションを開発できます。Windows、macOS、Linuxなどクロスプラットフォーム環境で動作可能です。")
  95.  
  96. '' Item 4
  97. par = pars.Add(sCaption)
  98. runs = par.GetRange().Runs
  99. runs.Add("100", sTate)
  100. runs.Add("を超える")
  101. runs.Add("PDF", sTate)
  102. runs.Add("操作機能")
  103.  
  104. par = pars.Add(sText)
  105. runs = par.GetRange().Runs
  106. runs.Add("ページの追加や削除、ページサイズ、向きの変更だけでなく、ファイルの圧縮、")
  107. runs.Add("Web", sTate)
  108. runs.Add("に最適化した")
  109. runs.Add("PDF", sTate)
  110. runs.Add("の生成など高度な機能も")
  111. runs.Add("API", sTate)
  112. runs.Add("操作で実現します。また、署名からセキュリティ機能まで様々な機能を含んだ")
  113. runs.Add("PDF", sTate)
  114. runs.Add("フォームを生成可能です。")
  115.  
  116. '' Item 5
  117. par = pars.Add(sCaption)
  118. runs = par.GetRange().Runs
  119. runs.Add("高速、軽量アーキテクチャ")
  120.  
  121. par = pars.Add(sText)
  122. runs = par.GetRange().Runs
  123. runs.Add("軽量")
  124. runs.Add("API", sTate)
  125. runs.Add("アーキテクチャでメモリと時間を節約できます。")
  126. runs.Add("また、他の生成用ツールに依存せずドキュメントを生成可能です。")
  127.  
  128. '' 6
  129. par = pars.Add(sCaption)
  130. runs = par.GetRange().Runs
  131. runs.Add("クラウドアプリケーション展開")
  132.  
  133. par = pars.Add(sText)
  134. runs = par.GetRange().Runs
  135. runs.Add("Azure、AWSなどのサービスに配置するクラウドアプリケーションの開発で利用可能です。仮想マシン、コンテナ、サーバーレスなどの方法で配置できます。")
  136.  
  137. '' Done:
  138. Return doc
  139. End Function
  140. End Class
  141.