TateChuYoko.cs
C# VB
//// This code is part of Document Solutions for Word demos.// Copyright (c) MESCIUS inc. All rights reserved.//using System.Drawing;using GrapeCity.Documents.Word;
namespace DsWordWeb.Demos{ // This sample demonstrates how to render short upright Latin text or numbers // in a block of vertical text. This is used in Chinese, Japanese and // Korean vertical text. In CSS this is referred to using the Japanese // name 縦中横 (tate chu yoko). In MS Word, this is referred to as // Horizontal In Vertical, and can be set using the Style.Font.EastAsianLayout.HorizontalInVertical // property. public class TateChuYoko { public GcWordDocument CreateDocx() { var doc = new GcWordDocument();
doc.Body.Sections.First.PageSetup.TextFlowDirection = TextFlowDirection.TopToBottomRightToLeft;
// Paragraph style for main caption: var sMainCaption = doc.Styles.Add("My Main Caption", StyleType.Paragraph); sMainCaption.Font.Name = "MS PGothic"; sMainCaption.Font.Bold = true; sMainCaption.Font.Size = 14; sMainCaption.Font.Color.RGB = Color.DarkBlue; sMainCaption.ParagraphFormat.KeepWithNext = true;
// Paragraph style for other captions: var sCaption = doc.Styles.Add("My Caption", StyleType.Paragraph); sCaption.BaseStyle = sMainCaption; sCaption.Font.Size = sMainCaption.Font.Size - 1;
// Paragraph style for text: var sText = doc.Styles.Add("My Text", StyleType.Paragraph); sText.Font.Name = "MS PGothic"; sText.Font.Size = sCaption.Font.Size - 1; sText.ParagraphFormat.KeepTogether = true;
// Char style for 'Tate Chu Oko' text fragments: var sTate = doc.Styles.Add("My TateChuOko", StyleType.Character); sTate.Font.EastAsianLayout.HorizontalInVertical = true;
var pars = doc.Body.Sections.Last.GetRange().Paragraphs;
var par = pars.Add(sMainCaption); var runs = par.GetRange().Runs; runs.Add("PDF", sTate); runs.Add("ファイルをコードから"); runs.Add("API", sTate); runs.Add("を利用することで操作できます。クロスプラットフォーム環境で動作するアプリケーションの開発を支援する"); runs.Add("API", sTate); runs.Add("ライブラリです。");
// Item 1 par = pars.Add(sCaption); runs = par.GetRange().Runs; runs.Add("PDF", sTate); runs.Add("用の包括的な"); runs.Add("API", sTate);
par = pars.Add(sText); runs = par.GetRange().Runs; runs.Add("PDF", sTate); runs.Add("バージョン「"); runs.Add("1.7", sTate); runs.Add("」に準拠した"); runs.Add("API", sTate); runs.Add("を提供し、レイアウトや機能を損なうことなく、豊富な機能を備えた"); runs.Add("PDF", sTate); runs.Add("文書を生成、編集、保存できます。");
// Item 2 par = pars.Add(sCaption); runs = par.GetRange().Runs; runs.Add("完全なテキスト描画");
par = pars.Add(sText); runs = par.GetRange().Runs; runs.Add("PDF", sTate); runs.Add("文書にテキストの描画情報が保持されます。テキストと段落の書式、特殊文字、複数の言語、縦書き、テキスト角度などが保持さるので、完全な形でテキスト描画を再現できます。");
// Item 3 par = pars.Add(sCaption); runs = par.GetRange().Runs; runs.Add(".NET Standard 2.0 準拠");
par = pars.Add(sText); runs = par.GetRange().Runs; runs.Add(".NET Core、.NET Framework、Xamarinで動作するアプリケーションを開発できます。Windows、macOS、Linuxなどクロスプラットフォーム環境で動作可能です。");
// Item 4 par = pars.Add(sCaption); runs = par.GetRange().Runs; runs.Add("100", sTate); runs.Add("を超える"); runs.Add("PDF", sTate); runs.Add("操作機能");
par = pars.Add(sText); runs = par.GetRange().Runs; runs.Add("ページの追加や削除、ページサイズ、向きの変更だけでなく、ファイルの圧縮、"); runs.Add("Web", sTate); runs.Add("に最適化した"); runs.Add("PDF", sTate); runs.Add("の生成など高度な機能も"); runs.Add("API", sTate); runs.Add("操作で実現します。また、署名からセキュリティ機能まで様々な機能を含んだ"); runs.Add("PDF", sTate); runs.Add("フォームを生成可能です。");
// Item 5 par = pars.Add(sCaption); runs = par.GetRange().Runs; runs.Add("高速、軽量アーキテクチャ");
par = pars.Add(sText); runs = par.GetRange().Runs; runs.Add("軽量"); runs.Add("API", sTate); runs.Add("アーキテクチャでメモリと時間を節約できます。"); runs.Add("また、他の生成用ツールに依存せずドキュメントを生成可能です。");
// 6 par = pars.Add(sCaption); runs = par.GetRange().Runs; runs.Add("クラウドアプリケーション展開");
par = pars.Add(sText); runs = par.GetRange().Runs; runs.Add("Azure、AWSなどのサービスに配置するクラウドアプリケーションの開発で利用可能です。仮想マシン、コンテナ、サーバーレスなどの方法で配置できます。");
// Done: return doc; } }}