标签: pdfmake

使用Angularjs中的pdfMake从HTML生成PDF

我想创建一个PDF使用我的HTML pdfMakeAngular(我也试了jsPDF,不能让它无论是工作).我尝试在Angular控制器中使用以下代码:

var blob = new Blob([document.getElementById('exportable').innerHTML])
var docDefinition = {
    content: [blob]
}
pdfMake.createPdf(docDefinition).open();
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

无法识别的文档结构:{"_ margin":null}".

我的HTML由div中的两个简单表组成exportable.

如果有人知道这个问题的解决方案,或者从Angular获取HTML到PDF的其他方法,请帮助.

任何帮助都非常感谢!

javascript pdf angularjs pdfmake

53
推荐指数
2
解决办法
12万
查看次数

PDFMAKE:仅在 GULP 之后在虚拟文件系统中找不到“Roboto-Regular.ttf”

我使用knockout/bootstrap/gulp 创建了一个简单的应用程序,它使用pdfMake.js 下载pdf。它在使用 VS2017 的调试模式下工作正常。发布并使用 gulp 后,运行时会出现此错误:在虚拟文件系统中找不到文件“Roboto-Regular.ttf”

注意:gulp 之后,所有的 JS 文件都在一个 script.js 文件中。

我尝试了很多东西,它在调试时总是有效,只要我运行 gulp,它就会给出错误。

我从这里尝试了 joepal1976 的解决方案(我对 require.config.js 中的依赖项做了什么)

有人建议 .pipe(uglify({ compress: { hoist_funs: false } })) 似乎没有帮助。

包含在 require.config 中,如下所示:

var require = {
    baseUrl: ".",
    paths: {
        "jquery":               "js-libs/jquery.min",
        "bootstrap":            "js-libs/bootstrap.min",
        "crossroads":           "js-libs/crossroads.min",
        "hasher":               "js-libs/hasher.min",
        "knockout":             "js-libs/knockout",
        "knockout-projections": "js-libs/knockout-projections.min",
        "signals":              "js-libs/signals.min",
        "text":                 "js-libs/text",
        "vfs_fonts":            "js-libs/vfs_fonts",
        "pdfMake":              "js-libs/pdfmake.min"
    },
    shim: {
        "bootstrap": { deps: ["jquery"] },
        'pdfMake':
        {
            exports: 'vfs_fonts'
        },
        'vfs_fonts':
        {
            deps: ['pdfMake'], …
Run Code Online (Sandbox Code Playgroud)

javascript require knockout.js gulp pdfmake

13
推荐指数
3
解决办法
2万
查看次数

pdfmake API?是否有样式,字体和功能列表?

我正在使用pdfmake.我想格式化一个文档,他们在github和他们的操场上有很好的例子,但我想知道他们是否具有其中的所有功能.我觉得他们可能是其他属性,如切换字体,添加不同的样式元素或下划线 - 在示例中没有明确共享的内容.也许你所看到的就是你得到的东西,但我只是彻底地浏览了github页面并没有找到更详细的功能列表.似乎hella类似于html但它似乎没有相同的html/css样式功能,如果有更多的东西可以有人请指出它.

css html5 pdf-generation pdfmake

12
推荐指数
1
解决办法
9009
查看次数

Angular2:如何使用pdfmake库

尝试在我的Angular 2(version = 4.2.x)项目中使用客户端pdf库pdfmake.

在.angular-cli.json文件中,我声明了这样的js:

"scripts": [
    "../node_modules/pdfmake/build/pdfmake.js",
    "../node_modules/pdfmake/build/vfs_fonts.js"
  ]
Run Code Online (Sandbox Code Playgroud)

然后在app.component.ts中,我像这样使用它:

import * as pdfMake from 'pdfmake';

@Component({
selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
   pdf: any;
   downloadPdf() {
    let item = {firstName: 'Peter', lastName: 'Parker'};
    this.pdf = pdfMake;
    this.pdf.createPdf(buildPdf(item)).open();
  }
}

function buildPdf(value) {
   var pdfContent = value;
   var docDefinition = {
     content: [{
    text: 'My name is: ' + pdfContent.firstName  + ' ' + pdfContent.lastName + '.'
     }]
   }
   console.log(pdfContent); …
Run Code Online (Sandbox Code Playgroud)

pdfmake angular

11
推荐指数
2
解决办法
1万
查看次数

增加标题大小pdfMake

我正在尝试使用pdfmake增加pdf上的标题大小.

目前能够在页面的左侧和右侧获得标题,这是我想要的,但是当高度超过26时,图像消失,因为标题的空间有限.

  • 可以减少保证金以增加规模,但我希望保留保证金.
  • 我搜索了pdfMake github的类似问题没有成功.

如果你需要测试任何东西,试试我目前在pdfmake playground上的代码

请记住,您需要将所有这些代码复制并粘贴到"playground"上才能使其正常工作.

var dd = {
  pageSize: 'LEGAL',
  pageOrientation: 'landscape',
  header: {
    margin: 8,
    columns: [{
      table: {
        widths: ['50%', '50%'],
        body: [
          [{
            image: 'sampleImage.jpg',
            width: 80,
            height: 26,
          }, {
            image: 'sampleImage.jpg',
            width: 80,
            height: 26,
            alignment: 'right'
          }]
        ]
      },
      layout: 'noBorders'
    }]
  },
  content: [
    'First paragraph',
    'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines' …
Run Code Online (Sandbox Code Playgroud)

javascript pdfmake

10
推荐指数
2
解决办法
9611
查看次数

在pdfmake中使用dataUrl的无效图像错误

我正在使用 pdfmake 在 angular 应用程序中生成 PDF 文档,并且只是尝试使用 dataURL(在pdfmake docs之后)将图像添加到输出中。

        var docDefinition = {
          content: [
            {
              table: {
                widths: ['*'],
                body: [
                  [{text: 'Table text goes here', style: 'tableCellPadded'}]
                ]
              },
            },
            {
              image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACHCAYAAADqQ...AABJRU5ErkJggg==",
              width: 152
            }
            '...various other text lines go here...'
          ],
          styles: {
            header: {
              bold: true,
              fontSize: 14
            },
            tableCellPadded: {
              margin: [0, 15, 0, 15],
              bold: true,
              fontSize: 14
            },
            note: {
              fontSize: 16,
              bold: true,
              italics: true
            }
          }
        };
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试打印文档时,在控制台中出现此错误: …

javascript image angularjs pdfmake

9
推荐指数
2
解决办法
2万
查看次数

使用PDFMake动态构建表

我正在使用pdfmake用javascript生成pdf.我正在尝试动态构建一个表,但不能正常工作,这是我的尝试

$.ajax({
    type: "POST",
    url: myURL,
    success:function(data){
        /* data has a format like :
         *[{"peaje":"Peaje 1","ruta":"Ruta 1","fechaCruce":"2014-10-18","hora":"15:42","valor":"5000"},{"peaje":"Peaje 1","ruta":"Ruta 1","fechaCruce":"2014-10-18","hora":"14:21","valor":"7000"},{"peaje":"Peaje 1","ruta":"Ruta 1","fechaCruce":"2014-09-19","hora":"11:58","valor":"17000"}]
         */
        var peajes = JSON.parse( data );
        var body = [];
        var titulos = new Array( 'PEAJE', 'RUTA', 'FECHA CRUCE', 'HORA', 'VALOR' );
        body.push( titulos );
        for (key in peajes)
        {
            if (peajes.hasOwnProperty(key))
            {
                var peaje = peajes[key];
                var fila = new Array();
                fila.push( peaje.peaje.toString() );
                fila.push( peaje.ruta.toString()  );
                fila.push( peaje.fechaCruce.toString() );
                fila.push( peaje.hora.toString()  );
                fila.push( peaje.valor.toString() …
Run Code Online (Sandbox Code Playgroud)

javascript pdf-generation pdfmake

8
推荐指数
3
解决办法
3万
查看次数

pdfmake:如何创建具有不同方向的多页PDF?

有没有办法使用pdfmake创建具有不同页面方向的多页PDF

为了简单起见,我想要这样的东西:

  • 1页,纵向
  • 2页,横向
  • 3页,纵向方向

我用不同的方法尝试了很多次,但它总是影响到所有页面.


抱歉我的英文

javascript node.js pdfmake

8
推荐指数
2
解决办法
2万
查看次数

TypeError:无法读取未定义的属性'Roboto-Regular.ttf'

尝试使用JS API PdfMake构建PDF :

<script type="text/javascript" src="/app/js/vfs_fonts.js"></script>
<script type="text/javascript" src="/app/js/pdfmake.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后根据这个Helloworld,我运行:

 var docDef={ content: 'This is an sample PDF printed with pdfMake' }
 pdfMake.createPdf(docDef).download('optionalName.pdf');
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

未捕获的TypeError:无法读取未定义的属性'Roboto-Regular.ttf'

难道的Roboto-Regular.ttf文件是必需的?

如果是这样的话呢?

javascript pdfmake

8
推荐指数
1
解决办法
3903
查看次数

以离子3打印PDF

我正在使用PDFMake来创建具有预定义文档定义的pdf.在我的旧离子1项目中,我将编码的字符串传递给print函数,该函数工作正常.这是旧离子1的代码

var dd = $scope.createDocumentDefinition();
            $timeout(function () {
                var pdf = pdfMake.createPdf(dd);
                pdf.getBase64(function (encodedString) {
                    console.log(encodedString);
                    $ionicLoading.hide();
                    window.plugins.PrintPDF.print({
                        data: encodedString,
                        type: 'Data',
                        title: 'Print Document',
                        success: function () {
                            console.log('success');
                        },
                        error: function (data) {
                            data = JSON.parse(data);
                            console.log('failed: ' + data.error);
                        }
                    });
                });
            }, 1000);
Run Code Online (Sandbox Code Playgroud)

现在我正在将我的项目升级到Ionic 3,所以我尝试了相同的东西,但输出不同,这是我的新离子3代码.打印机打开但不是根据我的文档定义打印它只打印编码的字符串.

let printer_ = this.printer;
    var dd = this.createDocumentDefinition();
    var pdf = pdfMake.createPdf(dd);
    pdf.getBase64(function (_encodedString) {
      let options: PrintOptions = {
        name: 'MyDocument'
      };
      console.log(JSON.stringify(pdf));
      printer_.print(_encodedString, options).then((msg)=>{
        console.log("Success",msg);
      },(error)  => {
        console.log("Error", …
Run Code Online (Sandbox Code Playgroud)

ionic-framework pdfmake ionic3

8
推荐指数
1
解决办法
3090
查看次数