Socket
Socket
Sign inDemoInstall

docx

Package Overview
Dependencies
Maintainers
1
Versions
82
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

docx

Easily generate .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser.


Version published
Weekly downloads
156K
decreased by-6.89%
Maintainers
1
Weekly downloads
 
Created

What is docx?

The docx npm package is a powerful library for creating and manipulating Microsoft Word documents programmatically. It allows developers to generate .docx files with various elements such as text, images, tables, and more, directly from their JavaScript or TypeScript code.

What are docx's main functionalities?

Creating a Simple Document

This feature allows you to create a simple Word document with text. The code sample demonstrates how to create a document with a single paragraph containing both regular and formatted text.

const { Document, Packer, Paragraph, TextRun } = require('docx');
const fs = require('fs');

const doc = new Document({
  sections: [
    {
      properties: {},
      children: [
        new Paragraph({
          children: [
            new TextRun('Hello World!'),
            new TextRun({
              text: ' This is bold and underlined text.',
              bold: true,
              underline: {} 
            })
          ]
        })
      ]
    }
  ]
});

Packer.toBuffer(doc).then((buffer) => {
  fs.writeFileSync('MyDocument.docx', buffer);
});

Adding Images

This feature allows you to add images to your Word document. The code sample demonstrates how to insert an image with specified dimensions into a document.

const { Document, Packer, Paragraph, ImageRun } = require('docx');
const fs = require('fs');

const doc = new Document({
  sections: [
    {
      properties: {},
      children: [
        new Paragraph({
          children: [
            new ImageRun({
              data: fs.readFileSync('path/to/image.png'),
              transformation: {
                width: 100,
                height: 100
              }
            })
          ]
        })
      ]
    }
  ]
});

Packer.toBuffer(doc).then((buffer) => {
  fs.writeFileSync('DocumentWithImage.docx', buffer);
});

Creating Tables

This feature allows you to create tables within your Word document. The code sample demonstrates how to create a table with two rows and two columns.

const { Document, Packer, Table, TableRow, TableCell, Paragraph } = require('docx');
const fs = require('fs');

const doc = new Document({
  sections: [
    {
      properties: {},
      children: [
        new Table({
          rows: [
            new TableRow({
              children: [
                new TableCell({
                  children: [new Paragraph('Cell 1')] 
                }),
                new TableCell({
                  children: [new Paragraph('Cell 2')] 
                })
              ]
            }),
            new TableRow({
              children: [
                new TableCell({
                  children: [new Paragraph('Cell 3')] 
                }),
                new TableCell({
                  children: [new Paragraph('Cell 4')] 
                })
              ]
            })
          ]
        })
      ]
    }
  ]
});

Packer.toBuffer(doc).then((buffer) => {
  fs.writeFileSync('DocumentWithTable.docx', buffer);
});

Other packages similar to docx

Keywords

FAQs

Package last updated on 26 Sep 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc