当前位置: 首页 > news >正文

佛山网站建设公司分享微信营销的五个技巧重庆大江建设工程集团有限公司

佛山网站建设公司分享微信营销的五个技巧,重庆大江建设工程集团有限公司,wordpress 嵌入网址,网络宣传怎么做使用nodejs输出著作权申请所需的word版源码 背景 软件著作权申请需要提供一份80页的word版源代码,如果手工复制源码到word文档中,工作量将无聊到让任何一个DAO人员血压爆表,因此我们不得不编写一个简单的文本处理代码,通过自动方…

使用nodejs输出著作权申请所需的word版源码

背景

软件著作权申请需要提供一份80页的word版源代码,如果手工复制源码到word文档中,工作量将无聊到让任何一个DAO人员血压爆表,因此我们不得不编写一个简单的文本处理代码,通过自动方式将项目源码输出到word文档中。

实现逻辑

指定一个代码目录,通过递归扫描该目录及其所有子级目录下的文件(可指定文件类型),然后按行读取文件中的代码,输出到word文档中。

实现代码

本次我们使用nodejs来实现以上逻辑,将当前目录下的codes目录中的所有代码输出到word文件merged_files.docx中。

const fs = require('fs-extra');
const path = require('path');
const readline = require('readline');
const docx = require("docx");const graphs = [];async function readFileContent(filePath) {return fs.readFile(filePath, 'utf8');
}function createParagraph(text) {const paragraph = new docx.Paragraph({ children: [new docx.TextRun(text)] });graphs.push(paragraph);
}function readLineContent(fullPath) {return new Promise((resolve, reject) => {const readStream = fs.createReadStream(fullPath);const rl = readline.createInterface({input: readStream,crlfDelay: Infinity});rl.on('line', (line) => {// console.log('Line from file:', line);createParagraph(line);});rl.on('close', () => {resolve();});});
}async function convertDirectoryToDocx(directoryPath) {try {const files = await fs.readdir(directoryPath, { withFileTypes: true });for (const file of files) {const fullPath = path.join(directoryPath, file.name);if (file.isDirectory()) {await convertDirectoryToDocx(fullPath); // 递归处理子目录} else {await readLineContent(fullPath);// 添加空行createParagraph('                 ');createParagraph('                 ');createParagraph('                 ');createParagraph('                 ');createParagraph('                 ');}}} catch (err) {console.error(`读取目录出错: ${directoryPath}`, err);}
}async function createDocx() {const inputDir = './codes'; // 输入目录路径await convertDirectoryToDocx(inputDir);const doc = new docx.Document({sections: [{properties: {},children: graphs,},],});const outputDocx = './merged_files.docx'; // 输出的.docx文件路径docx.Packer.toBuffer(doc).then((buffer) => {fs.writeFileSync(outputDocx, buffer);console.log(`文件已合并至: ${outputDocx}`);});
}createDocx();
http://www.yayakq.cn/news/830954/

相关文章:

  • access做调查表网站怎样买网站建设
  • 足球世界排名国家2023网站seo
  • 建站网站关键词大全网页开发人员工具
  • 制作网站吗自己做网站发信息
  • 锦州网站建设公司四川建设银行官网招聘网站
  • 科技无国界wordpress sql优化
  • 太原做网站直通车网上书店网站前端搜索条怎么做
  • 好网站具备条件汕头建设银行协华支行
  • 潍坊网站开发招聘信息wordpress 导航站 模板
  • 咸阳学校网站建设费用网站怎么换主机
  • 做网站 赚钱百度seo怎么做网站内容优化
  • 网站首页排名网上商城建设公司
  • 做房地产公司网站的费用wordpress无法访问上传的图面
  • 做网站网站会怎么样wordpress设计幻灯片
  • 学什么可以做响应式网站河北建设厅官方网站八大员考试
  • 做搜狗手机网站快速排网站建设查询
  • 天津网站建设技术支持品牌网站建设 蝌4蚪小
  • 做网站排版郑州app开发公司哪家好
  • 套模板做网站电话wordpress文章添加表情
  • 网站集约化建设 要求做网站显示不同字体
  • 自己做网站跟域名怎样做网络空间安全专业
  • 好多网站权重都没了全球工业设计公司排名
  • 外贸式响应式网站门户网站的区别
  • 花卉物流园做网站的素材家具设计软件
  • a站全称网站建设需要知道什么
  • 做网站自动赚钱php mysql 网站开发实例教程
  • 济宁 创意大厦 网站建设硬件开发是程序员吗
  • 大连做网站团队app定制多少钱
  • 网站友情链接作用盐城网站建设服务
  • 被黑的网站内容管理系统开源