运行gulp任务“buildFonts”以导出带有HTML图标的PDF时出现问题

1bqhqjot  于 2022-12-16  发布在  Gulp
关注(0)|答案(1)|浏览(194)

我正在使用JQuery Datatables(v1.10.18)在一个ASP NET项目与WebForms。为了简洁,我尝试导出表格到PDF。它工作正常。唯一的问题是,我有一些表格,有一些HTML图标,如'fa fa-check',这是不显示在PDF中。
值得一提的是

stripHtml: false,

我将按照www.example.com中介绍的步骤操作https://pdfmake.github.io/docs/fonts/custom-fonts-client-side/#1-create-a-new-vfs-fonts-js-containing-your-font-files
但是,我无法使它工作。步骤“运行gulp buildFonts以创建一个新的build/vfs_fonts. js(您可以更新gulpfile. js以更改基目录路径或为buildFonts任务添加替代配置)"给我带来了问题。

  • 很高兴知道这是我第一次使用'gulp',所以我通过我在网络上找到的例子和gulp和pdfmake文档指导自己 *

我在文件夹“pdfmake-0.1.36”(包含导出为PDF所需的pdfmake. js和vfs_fonts. js脚本的文件夹)中定义了文件“gulpFile. js”。
然后,在'gulpFile.js'中我定义:

const gulp = require('gulp');
    const gulpFont = require('gulp-font');

    gulp.task('buildFonts', function () {
    console.log('starts');
    gulp.src('/examples/fonts/.{ttf,otf}', { read: false })
    .pipe(gulpFont({
        ext: '.css',
        fontface: '/examples/fonts/',
        relative: '/examples/fonts/',
        dest: '/examples/fonts/',
        embed: ['woff'],
        collate: false
    }))
    .pipe(gulp.dest('/examples/fonts/'));
    console.log('finishes');
  });

在“/examples/fonts/”中放置了我想用来导出HTML图标的“fontawesome”字体。
然后,在cmd中转到特定文件夹并执行

gulp buildFonts

然后打印出来

starts
finishes
The following tasks did not complete: buildFonts
Did you forget to signal async completion?

这会导致任务在新文件夹“pdfmake-0.1.36/build/”中创建一个新的“vfs_fonts. js”,但它没有创建任何内容。

q35jwt9p

q35jwt9p1#

const gulp = require('gulp');
const gulpFont = require('gulp-font');

gulp.task('buildFonts', async function () {
    console.log('starts');
    await gulp.src('/examples/fonts/.{ttf,otf}', { read: false })
          .pipe(gulpFont({
              ext: '.css',
              fontface: '/examples/fonts/',
              relative: '/examples/fonts/',
              dest: '/examples/fonts/',
              embed: ['woff'],
              collate: false
          }))
          .pipe(gulp.dest('/examples/fonts/'));
  console.log('finishes');
});

添加异步fo函数并等待gulp

相关问题