[javascript] Marked를 사용하여 Markdown 파일을 PDF로 변환하는 방법은?

Markdown 파일을 PDF로 변환하는 가장 일반적인 방법 중 하나는 Pandoc을 사용하는 것입니다. Pandoc은 다양한 마크업 언어를 지원하며, Markdown을 PDF로 변환할 수 있는 강력한 도구입니다.

아래는 Marked와 Pandoc을 함께 사용하여 Markdown 파일을 PDF로 변환하는 예제 코드입니다.

const fs = require('fs');
const marked = require('marked');
const { exec } = require('child_process');

const inputFile = 'input.md';
const outputFile = 'output.pdf';

fs.readFile(inputFile, 'utf8', (err, data) => {
  if (err) throw err;

  // Marked를 사용하여 Markdown 파일을 HTML로 변환
  const html = marked(data);

  // 변환된 HTML을 임시 파일에 저장
  const tempFile = 'temp.html';
  fs.writeFile(tempFile, html, (err) => {
    if (err) throw err;

    // Pandoc을 사용하여 HTML 파일을 PDF로 변환
    exec(`pandoc ${tempFile} -o ${outputFile}`, (err) => {
      if (err) throw err;

      console.log('Markdown 파일이 PDF로 변환되었습니다.');

      // 임시 파일 삭제
      fs.unlink(tempFile, (err) => {
        if (err) throw err;
      });
    });
  });
});

이 코드는 Node.js 환경에서 실행되며, Marked와 Pandoc을 설치해야 합니다. 먼저 다음과 같이 Marked와 Pandoc을 설치하세요.

npm install marked
sudo apt install pandoc

위의 예제 코드에서 input.md는 변환할 Markdown 파일의 경로이고, output.pdf는 생성할 PDF 파일의 경로입니다. 코드를 실행하면 Marked를 사용하여 Markdown 파일을 HTML로 변환한 다음, Pandoc을 사용하여 HTML 파일을 PDF로 변환합니다. 최종적으로 생성된 PDF 파일은 output.pdf로 저장됩니다.

참고로, 이 예제 코드는 Linux에서의 Pandoc 설치를 가정하고 있습니다. 다른 운영 체제에서는 해당 운영 체제에 맞는 방법으로 Pandoc을 설치해야 합니다.