>  기사  >  웹 프론트엔드  >  nodejs가 HTML을 Word 문서로 변환하는 방법

nodejs가 HTML을 Word 문서로 변환하는 방법

PHPz
PHPz원래의
2023-04-06 08:53:001831검색

직장에서 이력서나 보고서 파일을 웹 형식에서 Word 형식으로 변환하는 등 HTML 형식의 문서를 Word 문서로 변환해야 하는 경우가 많습니다. 전통적인 방법은 Microsoft Word 또는 기타 유료 소프트웨어를 사용하여 처리하는 것이지만 이러한 소프트웨어는 비용이 많이 들고 다양한 HTML 태그 및 스타일과 완벽하게 호환되지 않습니다. 이 경우 Node.js를 사용하여 HTML을 Word로 변환하는 것을 고려할 수 있습니다.

이 기사에서는 Node.js 및 관련 npm 라이브러리를 사용하여 HTML을 Word 문서로 변환하는 방법을 소개합니다.

  1. 종속 라이브러리 설치

먼저 몇 가지 종속 라이브러리를 설치해야 합니다. 설치할 터미널에 다음 코드를 입력하세요.

npm install mammoth

설치가 완료된 후 HTML을 Word 문서로 변환하려면 mammoth를 도입해야 합니다.

  1. HTML을 Docx로 변환

다음 코드를 사용하여 HTML 파일을 docx 형식의 Word 문서로 변환합니다.

const mammoth = require("mammoth");

mammoth.convertToHtml({ path: "input.html"})
.then((result) => {
  const options = {
    styleMap: [
      "p[style-name='Section Title'] => h1",
      "p[style-name='Subsection Title'] => h2"
    ]
  };
  return mammoth.convertToDocx({ buffer: result.value }, options);
})
.then((result) => {
  console.log(result);
})
.done();

코드의 convertToHtml 方法可以将 HTML 文件转换为 Word 格式的 HTML,然后我们可以使用 convertToDocx 方法将其转换为 Word 文档。在此过程中,我们还可以添加样式的映射规则,通过 styleMap 매개변수는 HTML의 어떤 스타일이 Word 문서의 스타일에 매핑되는지 지정합니다. .

  1. 전체 코드 예제

다음은 HTML 파일을 Word 문서로 변환하는 방법을 보여주는 전체 예제입니다. 코드 예제에서는 input.html을 Word 문서로 변환하고 이를 output.docx 파일에 저장합니다.

const mammoth = require("mammoth");
const fs = require("fs");

mammoth.convertToHtml({ path: "input.html"})
.then((result) => {
  const options = {
    styleMap: [
      "p[style-name='Section Title'] => h1",
      "p[style-name='Subsection Title'] => h2"
    ]
  };
  return mammoth.convertToDocx({ buffer: result.value }, options);
})
.then((result) => {
  fs.writeFileSync("output.docx", result.value);
})
.done();

위 코드를 실행하여 변환을 완료한 후 변환된 Word 문서를 output.docx 파일에 저장할 수 있습니다.

결론

이 글에서는 Node.js 및 관련 종속 라이브러리를 사용하여 HTML 파일을 Word 문서로 변환하는 방법을 소개합니다. Node.js를 사용하면 값비싼 유료 소프트웨어를 사용하지 않고 사용자 정의 스타일 매핑을 수행할 수 있다는 이점이 있습니다. 직장에서 HTML을 Word로 변환해야 한다면 Node.js 방법을 사용해 보는 것이 좋습니다!

위 내용은 nodejs가 HTML을 Word 문서로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.