
Microsoft Word の差し込み印刷は、ユーザーが手紙を個別の通信文のように読める文書にすることができる優れた機能です。1 セットの情報を多くの人に伝えるために個別の手紙を準備するプロセスと比較すると、差し込み印刷は時間と労力を節約し、ラベルや封筒付きの大量の郵送物を作成し、カスタマイズされた詳細を含む統一されたメッセージを送信できます。差し込み印刷のその他の利点は次のとおりです。
- マージが設定されると、数千通の手紙をすぐに作成できます。
- 何千もの文字を個別に校正するよりも、たった 1 つの文字を校正する方がはるかに簡単です。
- 特定の基準を満たす人々に手紙を送ることができます。
- 標準の手紙を保存して再利用します。
- 手紙をパーソナライズします。
- 同じデータ ソースを再利用できるため、エラーのリスクが軽減されます。
この機能の重要性を考慮して、Aspose.Words Cloud は差し込み印刷機能を完全にサポートしています。また、受信者の名前に応じて手紙をパーソナライズすることもできます。データ ソースは、ドキュメントに関連するリスト、スプレッドシート、またはデータベースの一種です。このブログ投稿では、PHP 言語を使用して差し込み印刷またはマスタッシュ テンプレートにデータを入力するポイントについて説明します。
テンプレートを使用した差し込み印刷
MailMerge機能を使用するには、Wordテンプレート文書とデータファイルを使用する必要があります。これらはExecuteMailMergeOnlineへの2つの入力引数です。
cRUL コマンド
curl -X PUT "https://api.aspose.cloud/v4.0/words/MailMerge?withRegions=false&documentFileName=template" -H "accept: application/octet-stream" -H "Authorization: Bearer <JWT Token>" -H "Content-Type: multipart/form-data" -H "x-aspose-client: Containerize.Swagger" -d {"Template":{},"Data":{}}
リクエストURL
https://api.aspose.cloud/v4.0/words/MailMerge?withRegions=false&documentFileName=template
PHP の
<?php
include(dirname(__DIR__).'\CommonUtils.php');
use Aspose\Words\WordsApi;
use Aspose\Words\Model\Requests;
try {
// WordsApiインスタンスを作成する
$wordsApi = new WordsApi(CommonUtils::$AppSid, CommonUtils::$AppKey, CommonUtils::$ApiBaseUrl);
$fileName = "SampleMailMergeTemplate.docx";
$fileData = realpath(__DIR__ . '/../..').'\resources\\' . $fileName;
$destName = "Out_TestMailMergeWithImages.docx";
$data = realpath(__DIR__ . '/../..').'\resources\SampleMailMergeTemplateData.txt';
// ドキュメントをクラウドストレージにアップロードする
$wordsApi->uploadFile(new Requests\UploadFileRequest(realpath(__DIR__ . '/../..').'\resources\\' . $fileName, "", CommonUtils::$MyStorage));
// リクエストを作成し、APIメソッドを実行する
$request = new Requests\ExecuteMailMergeOnlineRequest($fileData, $data, null, null, null);
$result = $wordsApi->executeMailMergeOnline($request);
print_r($result);
} catch (Exception $e) {
echo "Something went wrong: ", $e->getMessage(), "\n";
}
?>

図 1: MailMerge 操作のプレビュー。
差し込み印刷中に HTML を挿入する
単純なコンテンツとは別に、API は差し込み印刷フィールド内に HTML を挿入する機能も提供します。ExecuteMailMerge API を使用すると、差し込み印刷フィールド内に HTML を挿入できます。以下の例のように、テンプレート ファイル内に HTML テーブルと画像を挿入し、結果のファイルをクラウド ストレージに保存します。
cURLコマンド
curl -X PUT "https://api.aspose.cloud/v4.0/words/template.doc/MailMerge?withRegions=false&mailMergeDataFile=TestExecuteMailMergeData%20%281%29.txt&useWholeParagraphAsRegion=true" -H "accept: application/json" -H "Authorization: Bearer <JWT Token>" -H "Content-Type: multipart/form-data" -H "x-aspose-client: Containerize.Swagger" -d {"data":""}
リクエストURL
https://api.aspose.cloud/v4.0/words/template.doc/MailMerge?withRegions=false&mailMergeDataFile=TestExecuteMailMergeData%20%281%29.txt&useWholeParagraphAsRegion=true
PHP の
<?php
include(dirname(__DIR__).'\CommonUtils.php');
use Aspose\Words\WordsApi;
use Aspose\Words\Model\Requests;
try {
// WordsApiインスタンスを作成する
$wordsApi = new WordsApi(CommonUtils::$AppSid, CommonUtils::$AppKey, CommonUtils::$ApiBaseUrl);
$fileName = "template.doc";
$destName = "Out_PostDocumentExecuteMailMergeWithHTMLData.docx";
$data = file_get_contents(realpath(__DIR__ . '/../..').'\resources\TestPostDocumentExecuteMailMerge.txt');
// ドキュメントをクラウドストレージにアップロードする
$wordsApi->uploadFile(new Requests\UploadFileRequest(realpath(__DIR__ . '/../..').'\resources\\' . $fileName, "", CommonUtils::$MyStorage));
// リクエストを作成し、APIメソッドを実行する
$request = new Requests\ExecuteMailMergeRequest($fileName, $data, null, CommonUtils::$MyStorage, null, null, null, null, null, false, $destName);
$result = $wordsApi->executeMailMerge($request);
print_r($result);
} catch (Exception $e) {
echo "Something went wrong: ", $e->getMessage(), "\n";
}
?>

図 2: HTML 挿入後の差し込み印刷。
結論
この記事では、PHP Cloud SDK を使用してメールのマージを実行する方法について詳しく説明しました。テンプレートを使用してメールのマージを実行する方法と、メールのマージ中に HTML を挿入する方法について詳しく説明しました。Aspose.Words Cloud SDK for PHP は MIT ライセンスの下で開発されており、完全なソース コードは GitHub からダウンロードできます。SDK の使用中に問題が発生した場合は、無料の 製品サポート フォーラム からお気軽にお問い合わせください。
関連記事
詳細については、次のリンクにアクセスすることをお勧めします。