get-office
v1.1.1
Published
轻松将web网页转换为office文档
Downloads
23
Maintainers
Readme
Introduction
整合了各种第三方库,实现一个傻瓜包,用于快速将网页或数据转化为 Office 文档,包括:pdf、excel、word
Install
npm i get-officeDemo
转换为 pdf 文档
import { getPdf } from "get-office";
const dom = document.getElementById("dom");
// 将 dom 转化为 pdf 并下载
getPdf(dom);
// 将 dom 转化为 pdf 并打印
getPdf(dom, "print");转换为 excel 文档
import { getExcel } from "get-office";
let columns = [
{ prop: "name", label: "姓名" },
{ prop: "age", label: "年龄" },
];
let data = [
{ name: "张三", age: 12 },
{ name: "李四", age: 76 },
];
// 将表格数据转换为 excel 并下载
getExcel(columns, data);
// 将表格数据转换为 excel 并打印
getExcel(columns, data, "print");转换为 word 文档,参考docx
import { getWord, dataURLToArrayBuffer } from "get-office";
const dom = document.getElementById("dom");
function callback(docTool) {
let { Paragraph, TextRun, ImageRun } = docTool;
let imgBase64 = canvas.toDataURL("image/png", 2);
let blob = dataURLToArrayBuffer(imgBase64);
let children = [];
children.push(
new Paragraph({
children: [
new TextRun({
text: "一行文字",
bold: true,
size: 30,
font: "微软雅黑",
color: "000000",
}),
],
alignment: 2, // 居中对齐
spacing: { after: 300 }, // 段后间距
}),
new Paragraph({
children: [
new ImageRun({
data: blob,
transformation: {
width: 600, // 图片宽度
height: 300, // 图片高度
},
}),
],
spacing: { after: 300 }, // 段后间距
})
);
return children;
}
// 将 dom 转化为 word 并下载
getWord(callback);
// 将 dom 转化为 word 并打印
getWord(dom);