Files
docx-js/demo/73-comments.ts

139 lines
4.6 KiB
TypeScript
Raw Normal View History

2022-06-19 02:01:54 +01:00
// Simple example to add comments to a document
// Import from 'docx' rather than '../build' if you install from npm
import * as fs from "fs";
import { Document, Packer, Paragraph, TextRun, CommentRangeStart, CommentRangeEnd, CommentReference } from "../build";
2022-06-19 02:01:54 +01:00
const doc = new Document({
comments: {
2023-03-19 00:18:38 +00:00
children: [
{
id: 0,
author: "Ray Chen",
date: new Date(),
children: [
new Paragraph({
children: [
new TextRun({
text: "some initial text content",
}),
],
}),
new Paragraph({
children: [
new TextRun({
text: "comment text content",
}),
new TextRun({ text: "", break: 1 }),
new TextRun({
text: "More text here",
bold: true,
}),
],
}),
],
},
2023-03-30 19:43:09 +01:00
{
id: 1,
author: "Bob Ross",
date: new Date(),
children: [
new Paragraph({
children: [
new TextRun({
text: "Some initial text content",
}),
],
}),
new Paragraph({
children: [
new TextRun({
text: "comment text content",
}),
],
}),
],
},
{
id: 2,
author: "John Doe",
date: new Date(),
children: [
new Paragraph({
children: [
new TextRun({
text: "Hello World",
}),
],
}),
],
},
{
id: 3,
author: "Beatriz",
date: new Date(),
children: [
new Paragraph({
children: [
new TextRun({
text: "Another reply",
}),
],
}),
],
},
2023-03-19 00:18:38 +00:00
],
},
2022-06-19 02:01:54 +01:00
sections: [
{
properties: {},
children: [
new Paragraph({
children: [
new TextRun("Hello World"),
new CommentRangeStart(0),
2022-06-19 02:01:54 +01:00
new TextRun({
text: "Foo Bar",
bold: true,
}),
new CommentRangeEnd(0),
2022-06-19 02:01:54 +01:00
new TextRun({
children: [new CommentReference(0)],
2022-06-19 02:01:54 +01:00
bold: true,
}),
],
}),
2023-03-30 19:43:09 +01:00
new Paragraph({
children: [
new CommentRangeStart(1),
new CommentRangeStart(2),
new CommentRangeStart(3),
new TextRun({
text: "Some text which need commenting",
bold: true,
}),
new CommentRangeEnd(1),
new TextRun({
children: [new CommentReference(1)],
bold: true,
}),
new CommentRangeEnd(2),
new TextRun({
children: [new CommentReference(2)],
bold: true,
}),
new CommentRangeEnd(3),
new TextRun({
children: [new CommentReference(3)],
bold: true,
}),
],
}),
2022-06-19 02:01:54 +01:00
],
},
],
});
Packer.toBuffer(doc).then((buffer) => {
2022-06-19 13:12:59 +01:00
fs.writeFileSync("My Document.docx", buffer);
2022-06-19 02:01:54 +01:00
});