このフォーラムの投稿を読んだ後でも、migradoc / pdfsharp を使用して箇条書きリストを作成する方法はまだかなり混乱しています。私は基本的に次のようなアイテムのリストを表示したい:
- ドッジ
- 日産
- フォード
- シボレー
このフォーラムの投稿を読んだ後でも、migradoc / pdfsharp を使用して箇条書きリストを作成する方法はまだかなり混乱しています。私は基本的に次のようなアイテムのリストを表示したい:
サンプルを次に示します (HelloWorld サンプルに数行追加)。
// Add some text to the paragraph
paragraph.AddFormattedText("Hello, World!", TextFormat.Italic);
// Add Bulletlist begin
Style style = document.AddStyle("MyBulletList", "Normal");
style.ParagraphFormat.LeftIndent = "0.5cm";
string[] items = "Dodge|Nissan|Ford|Chevy".Split('|');
for (int idx = 0; idx < items.Length; ++idx)
{
ListInfo listinfo = new ListInfo();
listinfo.ContinuePreviousList = idx > 0;
listinfo.ListType = ListType.BulletList1;
paragraph = section.AddParagraph(items[idx]);
paragraph.Style = "MyBulletList";
paragraph.Format.ListInfo = listinfo;
}
// Add Bulletlist end
return document;
すべてを 1 か所にまとめるための AddToList メソッドは使用しませんでした。実際のアプリケーションでは、そのメソッドを使用します (これはユーザー定義のメソッドであり、このスレッドで指定されたコードです)。
PDFsharp では、箇条書きを自分で描く必要があります。
MigraDoc を使用して、段落を追加し、この段落に paragraph.Format.ListInfo を設定して箇条書きリストを作成します。
リンクされたスレッドは 2 つのヘルパー ルーチンを示しています。DefineList() はメンバー変数のみを設定するため、次回は新しいリストが作成されます。AddToList() は、エントリごとに呼び出されます。
DefineList() を呼び出して新しい箇条書きリストを開始し、すべてのエントリに対して AddToList() を呼び出すだけです。DefineList() は、番号付きリストに大きな違いをもたらします。
必要に応じてヘルパー ルーチンを調整します。