• 前端生成pdf文件之pdfmake.js


    前端生成pdf文件之pdfmake.js

    pdfmake.js是一个简单的生成pdf文件的插件。

    pdfmake.js     https://files.cnblogs.com/files/s313139232/pdfmake.min.js

    代码也很简单:

    html文件:

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <title>my first export PDF</title>
        <script src="pdfmake.min.js"></script>
        <script src="vfs_fonts.js"></script>
        <script>
            function down() {
                var dd = {
                    content: [
                        '中英文测试',
                        'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines'
                    ],
                    defaultStyle: {
                        font: '方正姚体'
                    }
                };
                pdfMake.fonts = {
                    Roboto: {
                        normal: 'Roboto-Regular.ttf',
                        bold: 'Roboto-Medium.ttf',
                        italics: 'Roboto-Italic.ttf',
                        bolditalics: 'Roboto-Italic.ttf'
                    },
                    方正姚体: {
                        normal: 'FZYTK.TTF',
                        bold: 'FZYTK.TTF',
                        italics: 'FZYTK.TTF',
                        bolditalics: 'FZYTK.TTF',
                    }
                };
                pdfMake.createPdf(dd).download();
            }
        </script>
    </head>
    <body>
    <button onclick="down()">下载</button>
    </body>
    </html>

    代码中会引用两个技术,pdfmake.min.js   vfs_fonts.js

      其中pdfmake.min.js是pdfmake的支持文件,而vfs_fonts.js是字体文件(.ttf)打包成的js文件。

    content中pdf的内容拼接:
      内容拼接类似于html+css,但是写法为pdfmake插件自带,可以去pdfmake的github首页介绍中查看。

    字体文件(.ttf)打包可以通过pdfmake的github上的源文件进行打包制作。

    下面是两种字体的vfs_fonts.js文件:

    方正姚体  https://files.cnblogs.com/files/s313139232/方正姚体vfs_fonts.js

    Roboto-Itali   https://files.cnblogs.com/files/s313139232/Roboto-Italivfs_fonts.js

    注意:中文的字体文件较大,打包出来多数都在10M以上,推荐方正姚体等ttf文件较小的字体进行打包。

    打包教程:http://www.cnblogs.com/xrab/p/7210588.html

    打包步骤:

    1.在https://github.com/bpampuch/pdfmake下载pdfmake的源文件

    2.在目录用 npm 安装 gulp

    npm install gulp --save-dev

    3.安装pdfmake依赖包

    npm install

    4.在cmd运行打包examples/fonts中的.ttf文件的命令。

    gulp buildFonts

    5.然后在 build 文件中可以找到vfs_fonts.js文件。

    由于字体打包文件较大,建议examples/fonts中的.ttf文件只放置一个字体文件。

  • 相关阅读:
    Centos配置Apache phpadmin环境
    Linux添加FTP用户并设置权限
    Java中的过滤器
    【eclipse】注释模版
    [ci db操作]
    给vmware的Linux虚拟机添加硬盘
    基于LVDS/M-LVDS的数据通信
    如何找回丢失的硬盘分区表?
    vc++怎么可以直接刷掉MBR?搞笑的吧
    EFI、UEFI、MBR、GPT的区别
  • 原文地址:https://www.cnblogs.com/s313139232/p/7545114.html
Copyright © 2020-2023  润新知