[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을 설치해야 합니다.