aardio 文档
aardio 范例: Markdown 转 PDF
//网页转 PDF
import win.ui;
/*DSG{{*/
var winform = win.form(text="请在打开网页,请稍候 ……";right=759;bottom=469;bgcolor=16777215)
winform.add()
/*}}*/
import web.view;
var wb = web.view(winform);
winform.show();
var pdfFile = "/test.pdf"
var mdFile = /*
# 说明
- 这个字符串可以写 *.md 文件路径
- 也可以直接写 Markdown 内容
- 这是一个 Markdown 快速转 PDF 范例。
- 这是一个 网页 快速转 PDF 范例。
*/
import string.markdown;
var markdown = string.markdown();
var html;
if(io.exist(mdFile)){
html = markdown.renderFile(mdFile);
}
else {
html = markdown.render(mdFile);
}
var html = `
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" https://cdn.bootcdn.net/ajax/libs/github-markdown-css/5.6.1/github-markdown-dark.min.css">
<script></script>
</head>
<body>
` + html + `
</body>
</html>
`
//大文件自内存加载会比较快。
string.save("/pdf.html",html )
wb.go("/pdf.html");
winform.text = "正在导出 PDF,大文件会比较慢,请耐心等待!"
wb.waitDoc();
//调用 DevTools 方法,并等待返回结果,失败返回 null
var result = wb.cdp("Page.printToPDF");
if(result[["data"]]){
import crypt;
var bin = crypt.decodeBin(result[["data"]]);
string.save(pdfFile,bin);
winform.text = "已导出 PDF,路径已复制到剪贴板。"
wb.go(pdfFile);
}
win.loopMessage();
Markdown 格式