Word for WPF
さまざまな用紙サイズの Word ドキュメントを作成
Word for WPF の操作 > 上級レベルの操作 > さまざまな用紙サイズの Word ドキュメントを作成

Word for WPF では、さまざまな用紙サイズで Word ドキュメントを作成できます。PaperKind 列挙を使用して、利用可能な標準用紙サイズを指定できます。

次のコードでは、WordUtils という名前のクラスを使用します。このクラスは、システムの次の場所にある製品サンプル内に置かれています。
Documents\ComponentOne Samples\WPF\WordCreator
これらのクラスを上記の場所からアプリケーションで使用できます。

PaperKind 列挙は、次のコードで実装されます。

' 各用紙サイズにつき 1 つのページを作成します
Dim firstPage As Boolean = True
For Each fi As var In GetType(PaperKind).GetFields(BindingFlags.[Static] Or BindingFlags.[Public])
        ' Silverlight/Phone には Enum.GetValues はありません
        Dim pk As PaperKind = DirectCast(fi.GetValue(Nothing), PaperKind)

        ' カスタムサイズはスキップします
        If pk = PaperKind.[Custom] Then
                Continue For
        End If

        ' 最初のページ以降のすべてのページに新しいページを追加します
        If Not firstPage Then
                word.PageBreak()
        End If
        firstPage = False

        ' 用紙の種類と向きを設定します
        'rtf.PaperKind = pk;
        word.Landscape = Not word.Landscape

        ' コンテンツをページに描画します
        rc = WordUtils.PageRectangle(word)
        rc = WordUtils.Inflate(rc, -6, -6)
        Dim text As String = String.Format("PaperKind: [{0}];" & vbCr & vbLf & "Landscape: [{1}];" & vbCr & vbLf & "Font: [Tahoma 18pt]", pk, word.Landscape)
        word.DrawString(text, font, Colors.Black, rc, sf)
        word.DrawRectangle(Colors.Black, rc)
Next
// 各用紙サイズにつき 1 つのページを作成します
bool firstPage = true;
foreach (var fi in typeof(PaperKind).GetFields(BindingFlags.Static | BindingFlags.Public))
{
     // Silverlight/Phone には Enum.GetValues はありません
     PaperKind pk = (PaperKind)fi.GetValue(null);

     // カスタムサイズはスキップします
     if (pk == PaperKind.Custom) continue;

     // 最初のページ以降のすべてのページに新しいページを追加します
     if (!firstPage) word.PageBreak();
     firstPage = false;

     // 用紙の種類と向きを設定します
     //rtf.PaperKind = pk;
     word.Landscape = !word.Landscape;

     // コンテンツをページに描画します
     rc = WordUtils.PageRectangle(word);
     rc = WordUtils.Inflate(rc, -6, -6);
     string text = string.Format("PaperKind: [{0}];\r\nLandscape: [{1}];\r\nFont: [Tahoma 18pt]", pk, word.Landscape);
     word.DrawString(text, font, Colors.Black, rc, sf);
     word.DrawRectangle(Colors.Black, rc);
}