首页 > 编程语言 >用nodejs生成带页码和目录的word

用nodejs生成带页码和目录的word

时间:2023-04-21 23:13:37浏览次数:39  
标签:docx word nodejs docx4js addText createRun createP doc 页码

var officegen = require('officegen');
var fs = require('fs');
var path = require('path');

var docx = officegen('docx');

docx.on('finalize', function (written) {
  console.log('Finish to create Word file.\nTotal bytes created: ' + written + '\n');
});

docx.on('error', function (err) {
  console.log(err);
});

// 添加目录
docx.createP();
docx.putPageBreak();
docx.createP().addText('目录', { bold: true, font_face: 'Arial', font_size: 14 });
docx.createP().addText('第一章', { hyperlink: 'chapter_1' });
docx.createP().addText('第二章', { hyperlink: 'chapter_2' });
docx.createP().addText('第三章', { hyperlink: 'chapter_3' });

// 添加正文
docx.putPageBreak();
docx.createP().addText('第一章', { anchor: 'chapter_1' });
docx.createP().addText('这是第一章的内容。');

// 添加页码
var pObj = docx.createP();
pObj.addText('第 ');
pObj.addPageNumber();
pObj.addText(' 页');

var out = fs.createWriteStream(path.resolve(__dirname, 'output.docx'));

out.on('error', function (err) {
  console.log(err);
});

docx.generate(out);

  

 

const docx4js = require('docx4js');
const fs = require('fs');
const path = require('path');

const doc = docx4js.create();
doc.addParagraph(docx4js.createParagraph().addRun(docx4js.createRun().addText('第一章')));
doc.addParagraph(docx4js.createParagraph().addRun(docx4js.createRun().addText('这是第一章的内容。')));

doc.addParagraph(docx4js.createParagraph().addRun(docx4js.createRun().addText('第二章')));
doc.addParagraph(docx4js.createParagraph().addRun(docx4js.createRun().addText('这是第二章的内容。')));

doc.addParagraph(docx4js.createParagraph().addRun(docx4js.createRun().addText('第三章')));
doc.addParagraph(docx4js.createParagraph().addRun(docx4js.createRun().addText('这是第三章的内容。')));

doc.addTableOfContents();

doc.addPageNumber();

const out = fs.createWriteStream(path.resolve(__dirname, 'output.docx'));

out.on('error', function (err) {
  console.log(err);
});

doc.generate(out);

  

标签:docx,word,nodejs,docx4js,addText,createRun,createP,doc,页码
From: https://www.cnblogs.com/navysummer/p/17342139.html

相关文章

  • dedecms 实现ctrl+v粘贴图片并上传、word粘贴带图片
    ​图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM.plugins['autoupload'],然后找到autoUploadHandler方法,注释掉其中的代码。加入下面的代码://判断剪贴......
  • PHPCMS 实现ctrl+v粘贴图片并上传、word粘贴带图片
    ​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@     page contentType="text/html;cha......
  • 帝国CMS 实现ctrl+v粘贴图片并上传、word粘贴带图片
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘贴的原理,通过TheViper找到粘贴图片的方法。其原理为一下步骤:监听粘贴事件;【用于插入图片】获取光标位置;【......
  • git执行push操作时报错:remote: xxx: Incorrect username or password (access token)
    问题:最近用gitpush项目到gitee时报错,提示信息如下:remote:xxx:Incorrectusernameorpassword(accesstoken)fatal:Authenticationfailedfor'https://gitee.com/xxx/xxx.git/'想了一下,原来是几天前我把gitee的密码给改了,所以原先git存留的密码就失效了解决方案清......
  • 动易CMS 实现ctrl+v粘贴图片并上传、word粘贴带图片
    ​如何做到ueditor批量上传word图片?1、前端引用代码<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>......
  • PageOffice调用本地office实现多人在线同时编辑Word文档
    说明:多人同时在线编辑文件大多数会出现文档相互覆盖的问题,后保存的文档会覆盖先保存的文档。pageoffice的这个功能可以用程序控制不同用户打开文件后,编辑Word文档中属于自己的区域,并且不会互相影响。1、环境:前端:vue后端:springboot、pageoffice5.4.0.3版本vue+springboot集成pa......
  • SiteFactory 实现ctrl+v粘贴图片并上传、word粘贴带图片
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接......
  • 手把手教你用Python操纵Word自动编写离职报告
    今日鸡汤不堪玄鬓影,来对白头吟。前言大家好,我是吴老板,今天给大家分享一篇Python自动化文章。Python是自动化处理的一把好手,比如自动编写离职申请!!!安装pipinstallpython-docx-ihttps://pypi.douban.com/simple/基本用法创建一个docx文档fromdocximportDocumentfromdocx.enu......
  • Linux环境aspose插件word转pdf中文乱码解决方案
    本地没出现这个问题,到了linux环境出现了这个问题。第一想到的是字体。 解决方案1:环境解决安装字库,将win机器的c:\windows\fonts目录下的全部文件拷贝到生产服务器字体安装目录下,然后执行以下命令更新字体缓存。查看linux目前的所有字体fc-list查看Linux目前的所有中文......
  • 根据EXCEL数据自动生成WORD文档
    如何通过excel批量生成word文件?大家应该都有批量生成word文件的工作经历。相信有很多小伙伴都遇到过,一个excel表格里有一批明细数据,然后需要一次性把这些明细数据生成对应的word文件,这项工作如果手动做,一个一个的创建word文件,那工作效率会非常的低。有没有高效快捷的办法批量生成......