時代の発展に伴い、文書処理方法も常に変化しています。以前は、文書を編集したり閲覧したりするためにさまざまな文書処理ソフトウェアを使用していましたが、現在では、インターネット上で文書を処理することに慣れている人が増えています。オンライン文書処理の実現という点では、Node.js は非常に強力なツールとなっています。
Word プレビューは、間違いなく文書処理において最も一般的なニーズの 1 つです。ユーザーが Word 文書をアップロードするときは、Web ページ上でプレビューし、閲覧や印刷などの基本的な操作を行う必要があり、これは多くの企業や個人が満たさなければならない要件です。この記事では、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 |
docProps/core.xml/lastModifiedBy | |
docProps/core.xml/modified | |
word/media/image1 | |
word/document.xml/table |
この記事では、Node.js を使用して Word ドキュメントのコンテンツを読み取り、Word ドキュメントを HTML に変換します。
3. Docxtemplater
2. 導入プロセス
次に、上記のテクノロジーを使用して Word 文書のオンライン プレビューを実現する方法を紹介します。
1. 必要なモジュールをインストールする
npm コマンドを使用してこれらのモジュールをインストールできます:
npm install docxtemplater unzip fs
2. Word 文書の内容を確認します
// 解压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); }
3. Word 文書を 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 に変換できます。
4. アプリケーションを実行します
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 は Web 開発で広く使用されており、オンライン ドキュメント プレビューでも、その他の Web アプリケーション開発でも、Node.js は非常に強力なツールになります。今後、Node.js は Web 開発者の間でますます普及していくと考えています。
以上がnodejsは単語プレビューを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。