特定の領域内で差し込み印刷(メールマージ)を実行すると、領域内のすべての差し込みフィールドがデータソースの各レコードに対して繰り返されます。この記事では、Spire.Doc for Java を使用して領域での差し込み印刷を実行する方法について説明します。
Spire.Doc for Java をインストールします
まず、Spire.Doc for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>11.6.0</version>
</dependency>
</dependencies>
テンプレートの作成
メールマージ領域を作成するには、領域の開始点と終了点を指定する必要があります。たとえば、次の Word ドキュメントのテンプレートには、"TableStart:Country" フィールドと "TableEnd:Country" フィールドでマークされた "Country" リージョンが含まれています。
以下は、データのソースとして使用される XML ファイルのサンプルです。
<?xml version="1.0" encoding="UTF-8"?>
<Data>
<Country>
<Capital>Buenos Aires</Capital>
<Name>Argentina</Name>
<Continent>South America</Continent>
<Area>2777815</Area>
<Population>32300003</Population>
</Country>
<Country>
<Capital>La Paz</Capital>
<Name>Bolivia</Name>
<Continent>South America</Continent>
<Area>1098575</Area>
<Population>7300000</Population>
</Country>
<Country>
<Capital>Brasilia</Capital>
<Name>Brazil</Name>
<Continent>South America</Continent>
<Area>8511196</Area>
<Population>150400000</Population>
</Country>
<Country>
<Capital>Buenos Aires</Capital>
<Name>Argentina</Name>
<Continent>South America</Continent>
<Area>2777815</Area>
<Population>32300003</Population>
</Country>
<Country>
<Capital>La Paz</Capital>
<Name>Bolivia</Name>
<Continent>South America</Continent>
<Area>1098575</Area>
<Population>7300000</Population>
</Country>
</Data>
領域で差し込み印刷を実行する
以下は、領域で差し込み印刷を実行する手順です。
- Document のオブジェクトを作成します。
- Document.loadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
- Document.getMailMerge().executeWidthRegion() メソッドを使用して、領域を指定して差し込み印刷を実行します。
- Document.saveToFile() メソッドを使用してドキュメントを保存します。
- Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
public class mailMergeWithRegion {
public static void main(String[] args) throws Exception {
//Documentのオブジェクトをします
Document doc = new Document();
//Wordドキュメントを
doc.loadFromFile("サンプル.docx");
//Execute mail merge with a region
doc.getMailMerge().executeWidthRegion("データ.xml");
//Save the changes to another fil
doc.saveToFile("領域でのメールマージ.docx", FileFormat.Docx_2013);
doc.dispose();
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。