시대의 발전에 따라 우리의 문서 처리 방법도 끊임없이 변화하고 있습니다. 과거에는 다양한 문서 처리 소프트웨어를 사용하여 문서를 편집하고 읽을 수 있었지만 이제는 인터넷에서 문서를 처리하는 데 점점 더 많은 사람들이 익숙해지고 있습니다. 온라인 문서 처리를 실현한다는 측면에서 Node.js는 매우 강력한 도구가 되었습니다.
단어 미리보기는 의심할 여지 없이 문서 처리에서 가장 일반적인 요구 사항 중 하나입니다. 사용자는 Word 문서를 업로드할 때 웹 페이지에서 미리 보고 검색, 인쇄 등의 몇 가지 기본 작업을 수행해야 합니다. 이는 많은 기업과 개인이 충족해야 하는 요구 사항입니다. 이 기사에서는 Node.js를 사용하여 Word 문서의 온라인 미리보기를 구현하는 방법을 소개합니다.
1. 전제 지식
시작하기 전에 먼저 몇 가지 전제 지식을 이해해야 합니다.
Word 문서의 텍스트, 그림, 표 및 기타 요소는 문서로 저장될 때 "Office Open XML"이라는 이름의 ".docx" 또는 ".doc"에 저장됩니다. 파일. 이 파일에서 각 요소에는 고유한 확장 속성 이름(확장 속성 이름)이 할당됩니다.
우리 애플리케이션에서는 다음 표와 같이 일반적으로 사용되는 일부 확장 필드 이름을 사용해야 합니다.
Type | 확장 필드 이름 |
---|---|
Text | docProps/core.xml/ title |
Creator | docProps/core.xml/creator |
생성 시간 | docProps/core.xml/created |
Modifier | docProps/core.xml/lastModifiedBy |
수정된 시간 | docProps/core.xml/modified |
image | word/media/image1 |
table | word/document.xml/table |
JavaScript 언어를 사용하는 서버 측 프로그래밍을 위한 런타임 환경입니다. 이를 통해 JavaScript를 사용하여 서버 측 애플리케이션을 작성하여 다양한 서비스를 제공할 수 있습니다. Node.js는 이벤트 중심의 비차단 I/O 모델을 사용하여 고성능과 매우 우수한 확장성을 보장합니다.
이 기사에서는 Node.js를 사용하여 Word 문서의 내용을 읽고 Word 문서를 HTML로 변환합니다.
Docxtemplater는 Word 문서를 읽고 수정할 수 있는 Node.js 기반 템플릿 엔진입니다. Docxtemplater를 사용하여 Word 문서를 수정하여 온라인 미리보기 기능을 구현하겠습니다.
2. 구현 프로세스
다음으로 위 기술을 사용하여 Word 문서의 온라인 미리 보기를 구현하는 방법을 소개합니다.
Word 문서의 온라인 미리보기를 구현하기 위해 Node.js를 사용하므로 몇 가지 필수 모듈을 설치해야 합니다. 이 기사에서 우리가 사용해야 하는 모듈은 docxtemplater, unzip 및 fs입니다.
npm 명령을 사용하여 다음 모듈을 설치할 수 있습니다:
npm install docxtemplater unzip fs
docxtemplater를 사용하여 Word 문서를 수정하기 전에 먼저 Word 문서의 내용을 읽어야 합니다. Node.js에 내장된 fs 모듈을 사용하여 파일 읽기를 구현할 수 있습니다. 읽기 전에 ".docx" 파일의 압축을 풀어야 합니다.
// 解压docx文件 function unzipDocx(file) { return new Promise((resolve) => { const extractPath = path.join(__dirname, 'extracted'); const unzipper = new Unzipper(); mkdirp(extractPath); unzipper.on('extract', resolve); fs.createReadStream(file).pipe(unzipper).pipe(fs.createWriteStream(extractPath)); }); } // 读取Word文档内容 function readDocx(file) { const ext = path.extname(file); return ext === '.docx' ? readDocxXml(file) : ''; } function readDocxXml(file) { const contentXml = path.join(__dirname, `extracted/word/document.xml`); return fs.readFileSync(contentXml); }
Docxtemplater는 Word 문서를 HTML로 변환할 수 있어 매우 편리합니다. 템플릿 엔진을 호출할 때 출력 템플릿을 HTML로 지정하기만 하면 됩니다.
// 将Word文档转换为HTML async function parseDocx(content) { const templater = new Docxtemplater(); templater.loadZip(new JSZip(content)); templater.setData({}); // 替换表格为HTML templater.attachModule(new HtmlModule()); templater.compile(); const { renderedHtml } = templater.getRendered(); return renderedHtml; }
Word 문서를 HTML로 변환하는 과정에서 Docxtemplater의 HtmlModule 모듈을 사용한다는 점은 주목할 가치가 있습니다. 이 모듈은 Word 문서의 표와 기타 콘텐츠를 HTML로 변환할 수 있습니다.
위 단계를 완료하면 Word 문서를 미리 볼 수 있는 애플리케이션이 제공됩니다. 본 애플리케이션에서는 Express를 사용하여 서비스를 제공하겠습니다.
const express = require('express'); const app = express(); app.get('/', (req, res) => { const filePath = req.query.file; if (!filePath) { res.send(`请指定需要预览的Word文档文件路径,如:http://localhost:3000/?file=/path/to/your/file.docx`); return; } unzipDocx(filePath).then(() => { const content = readDocx(filePath); parseDocx(content).then(html => { res.send(html); }); }); }); app.listen(3000, () => console.log('应用程序已启动,访问 http://localhost:3000 即可查看。'));
이 응용 프로그램을 실행한 후 브라우저에서 http://localhost:3000/?file=/path/to/your/file.docx에 액세스하여 Word 문서를 미리 볼 수 있습니다.
3. 요약
Node.js를 사용하여 Word 문서의 온라인 미리보기를 구현하는 것은 매우 편리합니다. 템플릿 엔진인 Docxtemplater의 도움으로 Word 문서를 HTML로 빠르게 변환한 다음 몇 가지 간단한 작업을 통해 브라우저에서 미리보기 기능을 구현할 수 있습니다.
Node.js를 사용하여 Word 문서를 미리 보는 과정에서는 사용자의 파일 보안을 보호해야 한다는 점에 유의해야 합니다. 우리는 사용자의 파일을 보호하기 위해 비밀번호, 접근 권한 등을 사용할 수 있습니다. 동시에, 유출 등의 문제가 발생하지 않도록 서버 보안에도 특별한 주의를 기울여야 합니다.
Node.js는 웹 개발에서 널리 사용됩니다. 온라인 문서 미리보기든 다른 웹 애플리케이션 개발이든 Node.js는 매우 강력한 도구가 될 수 있습니다. 저는 Node.js가 앞으로 웹 개발자들 사이에서 점점 더 인기를 끌 것이라고 믿습니다.
위 내용은 nodejs는 단어 미리보기를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!