docxtemplater
JavaScript を介してテンプレートから Word DOCX を生成する
Microsoft® Word DOCX ファイルを作成、変更、変換するための JavaScript ライブラリ。
docxtemplater とは何ですか?
docxtemplater は、テンプレートから Word DOCX ファイルを作成および編集するのに役立つオープン ソースの JavaScript ライブラリです。 Word JavaScript ライブラリを使用すると、ユーザーは Word 自体を使用して、生成されたドキュメントをカスタマイズできます。ライブラリは扱いやすく、Word テンプレートを編集するための技術的なスキルは必要ありません。ライブラリには、特定の機能用のいくつかのモジュールも用意されています。
docxtemplater ライブラリは、画像の追加、Word 文書への書式設定されたテキストの挿入、ヘッダー/フッターの挿入、既存のプロパティとの画像の置換、表の作成、透かしテキストの追加、ページ マージンの更新、挿入など、DOCX ファイルの作成と処理に関連するいくつかの機能をサポートしています。ドキュメントの脚注など。
docxtemplater のインストール方法
docxtemplater をインストールするための推奨される最も簡単な方法は、npm を使用することです。スムーズなインストールのために、次のコマンドを使用してください。
npm 経由で docxtemplater をインストールする
npm install docxtemplater pizzip
JavaScript を介して Word DOCX を生成する
docxtemplater ライブラリは、Node.js アプリやブラウザーで DOCX ドキュメントを簡単に作成するのに役立ちます。また、既存の DOCX ドキュメントを変更して、表、画像、テキスト、段落などを挿入することもできます。
JavaScript で Word DOCX を更新する
const PizZip = require("pizzip");
const Docxtemplater = require("docxtemplater");
const fs = require("fs");
const path = require("path");
// Load the docx file as binary content
const content = fs.readFileSync(
path.resolve(__dirname, "input.docx"),
"binary"
);
const zip = new PizZip(content);
const doc = new Docxtemplater(zip, {
paragraphLoop: true,
linebreaks: true,
});
// Render the document (Replace {first_name} by John, {last_name} by Doe, ...)
doc.render({
first_name: "John",
last_name: "Doe",
phone: "0652455478",
});
const buf = doc.getZip().generate({
type: "nodebuffer",
compression: "DEFLATE",
});
// buf is a nodejs Buffer, you can either write it to a
// file or res.send it with express for example.
fs.writeFileSync(path.resolve(__dirname, "output.docx"), buf);
Word 文書への表の挿入と管理
docxtemplater ライブラリを使用すると、ソフトウェア開発者は数行の JavaScript コードでテーブルを作成できます。ライブラリには、最初からテーブルを作成する、垂直ループ テーブルを作成する、またはセルをコピーする、テーブルのセルを結合する、行と列を挿入する、行と列の幅を定義するなど、ドキュメント内のテーブルを作成および管理するためのいくつかの方法が含まれています。等々。
Word 文書に脚注を追加する
無料の docxtemplater ライブラリには、DOCX Word ドキュメントに脚注を追加するためのサポートが含まれています。ライブラリは、脚注のカスタマイズを完全に制御します。上付き文字で数字を追加したり、脚注のコンテンツにさまざまなスタイルを簡単に適用したりできます。
JavaScriptでドキュメントにフットノートを追加する
const imageOpts = {
getProps: function (img, tagValue, tagName) {
/*
* If you don't want to change the props
* for a given tagValue, you should write :
*
* return null;
*/
return {
rotation: 90,
// flipVertical: true,
// flipHorizontal: true,
};
},
getImage: function (tagValue, tagName) {
return fs.readFileSync(tagValue);
},
getSize: function (img, tagValue, tagName) {
return [150, 150];
},
};
const doc = new Docxtemplater(zip, {
modules: [new ImageModule(imageOpts)],
});
DOCX での画像の追加と変更
オープン ソースの docxtemplater ライブラリを使用すると、ソフトウェア プログラマーは Word 文書内に画像を挿入できます。このライブラリを使用すると、画像の幅と高さの設定、画像の整列、画像のキャプションの追加、Angular 式を使用した画像サイズの設定などを行うことができます。 base64 データ、ファイルシステム、URL、Amazon S3 に保存された画像など、任意のデータ ソースから画像データを取得することもできます。ライブラリの優れた機能の 1 つは、コンテナーよりも大きな画像を避けることができることです。
JavaScriptで画像を回転およびフリップ
const imageOpts = {
getProps: function (img, tagValue, tagName) {
/*
* If you don't want to change the props
* for a given tagValue, you should write :
*
* return null;
*/
return {
rotation: 90,
// flipVertical: true,
// flipHorizontal: true,
};
},
getImage: function (tagValue, tagName) {
return fs.readFileSync(tagValue);
},
getSize: function (img, tagValue, tagName) {
return [150, 150];
},
};
const doc = new Docxtemplater(zip, {
modules: [new ImageModule(imageOpts)],
});