テキストコントロール - 行とページの区切りガイド
テキスト制御文字は、ドキュメントのレイアウトと構造を正確に制御します。 PDF4me テンプレート。これらの特殊な制御文字を使用すると、生成されたドキュメント内で、改行、ページ区切り、段組み、段落書式設定、その他のレイアウト要素をプログラムで管理できます。
使用可能な制御文字
PDF4me テンプレートは、文書構造管理のために以下の制御文字をサポートしています。
列区切り
複数列レイアウトにおいて、列区切りを挿入し、コンテンツを次の列に移動します。
<<[ControlChar.ColumnBreak]>>
使用事例: 複数段組のニュースレター、パンフレット、または段組レイアウトの文書。
例:
Column 1 Content...
<<[ControlChar.ColumnBreak]>>
Column 2 Content...
改行
同じ段落内で改行を挿入し、新しい段落を開始せずに次の行に移動します。
<<[ControlChar.LineBreak]>>
使用事例: 単一の段落内に、住所、詩、または複数行のコンテンツを含めること。
例:
Customer Name: <<[customerName]>><<[ControlChar.LineBreak]>>
Address Line 1: <<[address1]>><<[ControlChar.LineBreak]>>
Address Line 2: <<[address2]>><<[ControlChar.LineBreak]>>
City, State ZIP: <<[city]>>, <<[state]>> <<[zipCode]>>
出力:
Customer Name: John Smith
Address Line 1: 123 Main Street
Address Line 2: Suite 100
City, State ZIP: New York, NY 10001
ラインフィード
テキストエディタでEnterキーを押すのと同様に、改行文字を挿入します。
<<[ControlChar.LineFeed]>>
使用事例: テキストの行間を垂直方向に作成したり、行を区切ったりする。
非破壊空間
行の改行を防ぎ、単語を同じ行にまとめるためのスペースを挿入します。
<<[ControlChar.NonBreakingSpace]>>
使用事例: 数値(例:「100 km」)や名前を含む単位をまとめて表示したり、不要な改行を防いだりする。
例:
Distance: <<[distance]>><<[ControlChar.NonBreakingSpace]>>kilometers
「キロメートル」が数値と同じ行に表示されるようにします。
ページ区切り
ページ区切りを挿入し、コンテンツを新しいページから開始させます。
<<[ControlChar.PageBreak]>>
使用事例: 主要なセクションを分離したり、コンテンツが新しいページから始まるようにしたり、ページネーションを制御したりすること。
例:
Section 1 Content...
<<[ControlChar.PageBreak]>>
Section 2 Content...
段落区切り
段落区切りを挿入し、現在の段落を終了して新しい段落を開始します。
<<[ControlChar.ParagraphBreak]>>
使用事例: 明確な段落を作成したり、縦方向の間隔を追加したり、テキストの構造を整えたりすること。
例:
First paragraph text here.<<[ControlChar.ParagraphBreak]>>
Second paragraph text here.<<[ControlChar.ParagraphBreak]>>
Third paragraph text here.
セクション区切り
セクション区切りを挿入し、独立した書式設定を持つ新しいドキュメントセクションを作成します。
<<[ControlChar.SectionBreak]>>
使用事例: セクションごとに異なるヘッダー/フッター、画面の向きの変更(縦向きから横向き)、または独立したページ番号付け。
タブ
位置合わせのためにタブ文字を挿入します。
<<[ControlChar.Tab]>>
使用事例: テキストの配置、表を使わずに列を作成する、またはインデントを設定する。
例:
Name:<<[ControlChar.Tab]>><<[customerName]>>
Email:<<[ControlChar.Tab]>><<[email]>>
Phone:<<[ControlChar.Tab]>><<[phone]>>
実用的応用
アプリケーション1:複数セクション文書
テンプレート:
Chapter 1: Introduction
<<[chapter1Content]>>
<<[ControlChar.PageBreak]>>
Chapter 2: Analysis
<<[chapter2Content]>>
<<[ControlChar.PageBreak]>>
Chapter 3: Conclusion
<<[chapter3Content]>>
アプリケーション2:フォーマット済みアドレスブロック
テンプレート:
<<[companyName]:caps>><<[ControlChar.LineBreak]>>
<<[address1]>><<[ControlChar.LineBreak]>>
<<if [address2 != null]>><<[address2]>><<[ControlChar.LineBreak]>><</if>>
<<[city]>>, <<[state]>><<[ControlChar.NonBreakingSpace]>><<[zipCode]>><<[ControlChar.LineBreak]>>
<<[country]>>
アプリケーション3:表形式データ(表なし)
テンプレート:
Item<<[ControlChar.Tab]>>Quantity<<[ControlChar.Tab]>>Price
<<foreach [item in items]>>
<<[item.name]>><<[ControlChar.Tab]>><<[item.qty]>><<[ControlChar.Tab]>>$<<[item.price]>><<[ControlChar.LineBreak]>>
<</foreach>>
アプリケーション4:ニュースレターのレイアウト
テンプレート:
Article 1 Content (Column 1)...
<<[ControlChar.ColumnBreak]>>
Article 2 Content (Column 2)...
<<[ControlChar.ColumnBreak]>>
Article 3 Content (Column 3)...
<<[ControlChar.PageBreak]>>
Page 2 Content...
制御文字の組み合わせ
複数の制御文字を組み合わせて使用することで、複雑なレイアウトを作成できます。
例:構造化された連絡先リスト
テンプレート:
<<foreach [contact in contacts]>>
**<<[contact.name]:caps>>**<<[ControlChar.LineBreak]>>
Position: <<[contact.position]>><<[ControlChar.LineBreak]>>
Email: <<[contact.email]>><<[ControlChar.LineBreak]>>
Phone: <<[contact.phone]>><<[ControlChar.ParagraphBreak]>>
<</foreach>>
ループ内の制御文字
動的な書式設定を行うには、foreachループ内で制御文字を使用してください。
例:ページ区切りを含む部門一覧
テンプレート:
<<foreach [dept in departments]>>
**Department: <<[dept.name]>>**
<<[dept.description]>>
Employees:
<<foreach [emp in dept.employees]>>
• <<[emp.name]>> - <<[emp.role]>><<[ControlChar.LineBreak]>>
<</foreach>>
<<[ControlChar.PageBreak]>>
<</foreach>>
各部署ごとに専用ページが用意されます。
高度な書式設定テクニック
条件付きページ区切り
テンプレート:
<<foreach [section in sections]>>
<<[section.title]>>
<<[section.content]>>
<<if [$index < sections.Count() - 1]>>
<<[ControlChar.PageBreak]>>
<</if>>
<</foreach>>
セクション間には改ページを挿入しますが、最後のセクションの後には挿入しません。
ダイナミックスペーシング
テンプレート:
<<foreach [item in items]>>
<<[item.name]>><<[ControlChar.LineBreak]>>
<<if [item.hasDetails]>>
Details: <<[item.details]>><<[ControlChar.ParagraphBreak]>>
<</if>>
<</foreach>>
制御文字参照
| 制御文字 | シンボル | 目的 | 一般的な使用 |
|---|---|---|---|
ColumnBreak | 該当なし | 次の列 | 複数列レイアウト |
LineBreak | ↓ | 改行、同じ段落 | 住所、リスト |
LineFeed | LF | ラインフィード | テキストの書式設定 |
NonBreakingSpace | 破壊不可能な空間 | 言葉をまとめる | |
PageBreak | ⤶ | 新しいページ | 章の区切り |
ParagraphBreak | ¶ | 新しい段落 | テキスト区切り |
SectionBreak | § | 新しいセクション | ヘッダー/フッターが変更されます |
Tab | → | タブ配置 | 柱状配列 |
ベストプラクティス
レイアウト制御
- 適切に使用してください レイアウトのニーズに合ったコントロールを選択してください
- テスト出力 - 制御文字が意図したレイアウトを生成することを確認する
- 一定の間隔 段落区切りを常に使用して間隔を空ける
- 過度な休憩は避ける ページ区切りやセクション区切りを多用しないでください。
文書構造
- 論理セクション ・文書を論理的に分割するためにセクション区切りを使用する
- 適切なページネーション - ページ区切りを使用して、ページが分割される位置を制御します
- アライメント - 簡単な位置合わせにはタブを使用してください
- 住所の書式設定 複数行のアドレスには改行を使用してください
テンプレートのメンテナンス
- 文書の使用状況 複雑な制御文字が使用されている箇所にコメントを付ける
- 視覚的な明瞭さ - 読みやすさを考慮したフォーマットテンプレート
- 徹底的にテストする - 異なるデータセットで出力を検証する
- バージョン管理 テンプレート構造の変更を追跡する
トラブルシューティング
よくある問題
問題: 出力に予期しないページ区切りがあります
解決: 意図しない事態がないか確認してください PageBreak または SectionBreak 使用法
問題: テキストがタブと揃わない
解決: タブストップが設定されていることを確認してください Word テンプレート
問題: 列区切りが機能しない
解決: ドキュメントに列レイアウトが設定されていることを確認してください。
問題: 非破壊スペースは破壊を妨げない
解決: 改行禁止スペースがあるにもかかわらず、改行を強制する長い文字列がないか確認してください。
問題: 文書に余白が多すぎる
解決: 段落区切りの使い方を見直してください。過剰かもしれません。
完全な例:複数セクションのレポート
テンプレート:
<<var [reportTitle = "Annual Business Report"]>>
<<var [reportYear = 2024]>>
<<var [companyName = "Tech Innovations Inc."]>>
**<<[reportTitle]>> - <<[reportYear]>>**<<[ControlChar.LineBreak]>>
<<[companyName]>><<[ControlChar.ParagraphBreak]>>
**Executive Summary**<<[ControlChar.LineBreak]>>
<<[executiveSummary]>><<[ControlChar.PageBreak]>>
**Financial Overview**<<[ControlChar.LineBreak]>>
<<foreach [quarter in quarters]>>
Q<<[$index + 1]>> <<[reportYear]>>:<<[ControlChar.LineBreak]>>
Revenue:<<[ControlChar.Tab]>>$<<[quarter.revenue]:"F2">><<[ControlChar.LineBreak]>>
Expenses:<<[ControlChar.Tab]>>$<<[quarter.expenses]:"F2">><<[ControlChar.LineBreak]>>
Profit:<<[ControlChar.Tab]>>$<<[quarter.profit]:"F2">><<[ControlChar.ParagraphBreak]>>
<</foreach>>
<<[ControlChar.SectionBreak]>>
**Department Reports**<<[ControlChar.LineBreak]>>
<<foreach [dept in departments]>>
**<<[dept.name]>>**<<[ControlChar.LineBreak]>>
<<[dept.report]>><<[ControlChar.PageBreak]>>
<</foreach>>
:::ヒント レイアウトテスト 制御文字が意図したレイアウトを生成することを確認するために、必ず実際のデータを使用してテスト文書を作成してください。コンテンツの長さによって、改行や間隔の表示が変わる場合があります。 :::
:::警告 セクション区切り セクション区切りは、独立した書式設定を持つ新しいドキュメントセクションを作成します。ヘッダー、フッター、ページ番号、および後続コンテンツの向きに影響を与えるため、慎重に使用してください。 :::