0.0.1 • Published 10 months ago

@develop-plugins/pdf-export v0.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

PDF-Export

根据配置项导出相应的pdf文件。

安装

 # npm
 npm i @develop-plugins/pdf-export
 
 # yarn
 yarn add @develop-plugins/pdf-export
 
 # pnpm
 pnpm add @develop-plugins/pdf-export

示例

  1. 初始化

    import PdfExport from '@develop-plugins/pdf-export';
    
    const pdf = new PdfExport({
        padding: 20, // 页面边距,默认20
        showPageNumbers: true // 是否显示页码,默认显示
    });
  1. 生成文本

    const textList = [
        {  position: 'center', text: '居中文本' },
        {  position: 'left', text: '默认居左文本' }
        {  position: 'right', text: '居右文本' }
        { text: '超长超长的文本' }
    ];
    
    /**
    * list列表元素属性
    * @param {string} text 文字
    * @param {'left'|'center'|'right'} [position='left'] 文本显示位置
    */
    pdf.generateTextList(list);

    ⚠️只支持一行显示一列文本,不支持一行显示多列。

  1. 生成表格

    // 表格列配置
    const columns = [
      { header: '姓名', dataKey: 'name' },
      { header: '备注', dataKey: 'remark' },
    ];
    
    // 表格行配置
    const body = [
      { name: '小李', remark: '表格行配置' },
      { name: '小张', remark: '表格行配置' }
    ];
    
    pdf.generateTable({
        body,
        columns,
        columnStyles: { remark: { cellWidth: 100 } },
    });

    更多表格样式配置参考:https://github.com/simonbengtsson/jsPDF-AutoTable/tree/master

  1. 生成图片

    /**
     * 生成图片
     * @param {string} imgUrl 图片链接
     * @param {'NONE'|'FAST'|'MEDIUM'|'SLOW'} [compression='NONE'] 图片压缩级别
     * NONE: 不进行压缩,保持原始质量。
     * FAST: 使用快速的压缩方式,压缩比较低。
     * MEDIUM: 使用中等压缩方式,压缩比较平衡。
     * SLOW: 使用慢速的压缩方式,压缩比较高。
     */
    pdf.generateImage(
        'https://images.pexels.com/photos/2049422/pexels-photo-2049422.jpeg?auto=compress&cs=tinysrgb&w=600'
      );

    如果导出文件时间过长,可以尝试调整compression的值。

  1. 保存PDF文件

    pdf.save('测试文档');

方法

名称说明参数
generateTextList通过列表生成对应的文本查看示例代码配置项
generateTable通过配置生成对应的表格查看示例代码配置项
generateImage生成图片查看示例代码配置项
save保存PDF文件查看示例代码配置项
0.0.1

10 months ago