ES6文件转PDF:高效将现代JavaScript代码转为文档格式
ES6文件转PDF:告别代码散落,优雅呈现现代JavaScript
在开发过程中,我们经常需要将代码分享、归档或打印。ES6(ECMAScript 6)作为现代JavaScript的主流版本,其简洁语法和模块特性深受喜爱。但如何将ES6文件(如.js或.mjs)转换为专业的PDF文档?本文为你揭秘多种高效途径。
为什么需要ES6转PDF?
常见场景包括:
- 代码评审:将代码以PDF格式发送给团队,保持格式统一。
- 教学演示:将ES6代码截图或高亮,作为教材附件。
- 归档备份:将重要代码段保存为不可轻易编辑的PDF。
方法一:使用Node.js + Puppeteer(推荐)
Puppeteer可以控制Headless Chrome,将HTML页面转为PDF。我们先将ES6代码嵌入HTML并高亮,再生成PDF。
步骤:
- 安装Puppeteer:
npm install puppeteer - 创建转换脚本:
const puppeteer = require('puppeteer');
const fs = require('fs');
const es6Code = fs.readFileSync('app.js', 'utf-8');
const html = `<!DOCTYPE html>
<html>
<head>
<style>
pre { background: #f4f4f4; padding: 10px; font-size: 14px; }
code { font-family: Consolas, monospace; }
</style>
</head>
<body>
<pre><code>${es6Code}</code></pre>
</body>
</html>`;
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setContent(html);
await page.pdf({ path: 'output.pdf', format: 'A4' });
await browser.close();
})();此方法可保留代码格式,支持高亮库如Prism.js。
方法二:使用pdfkit直接生成PDF
pdfkit是纯JavaScript PDF生成库,适合对布局精细控制。
const PDFDocument = require('pdfkit');
const fs = require('fs');
const doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.font('Courier').fontSize(12);
const code = fs.readFileSync('app.js', 'utf-8');
doc.text(code, 50, 50);
doc.end();注意:pdfkit对中文支持需额外字体。
方法三:在线转换工具
对于简单需求,可使用在线工具如Code Beautify或Online-convert.com,上传.js文件即可转PDF。但隐私敏感代码不建议。
高级技巧:语法高亮与行号
使用Puppeteer结合highlight.js:
const hljs = require('highlight.js');
const highlighted = hljs.highlight(es6Code, { language: 'javascript' }).value;
const html = `<pre><code class="javascript">${highlighted}</code></pre>`;并添加CSS使行号显示。
总结
ES6文件转PDF并非难事,选择最适合你的工具:Puppeteer适合高保真展示,pdfkit适合精细控制,在线工具适合快速转换。现在就让你的代码以PDF形式优雅传播吧!