在Node项目中包含pdfsign.js

时间:2018-04-21 08:57:07

标签: angular typescript

可以在Angular app(typescript)中包含pdfsign.js。我该怎么办?

提前致谢。

修改

感谢Amaya San我这样做了: 将signpdf和依赖项添加到angular-cli.json:

"scripts": [
    "assets/js/pdfsign/build/lib/forge-patched.js",
    "assets/js/pdfsign/build/lib/pdfjs.parser.js",
    "assets/js/pdfsign/build/pdfsign.js"
],

并将此添加到我的服务中:

declare var PDFSIGN: any;

但是现在当我尝试签署PDF时,我有这个错误:

XRefParseException {message: undefined}

我尝试以这种方式签署pdf:

let readerP12Reader = new FileReader();
    readerP12Reader.onload = ( p12File ) => {
      let p12ArrayBuf = (<FileReader>p12File.target).result; //<-- P12 Array Buffer to pass to PDFSIGN
      this.pdfService.getPdf().subscribe( result => {
        let pdfReader = new FileReader();
        pdfReader.onload = ( pdfFile ) =>{
          let pdfArrayBuf = (<FileReader>pdfFile.target).result; //<-- PDF Array Buffer to pass to PDFSIGN
          console.log(pdfArrayBuf);
          let signPdf = PDFSIGN.signpdf(p12ArrayBuf, pdfArrayBuf, "changeit");//<-- The error is in this point
          console.log(signPdf);
        }
        pdfReader.readAsArrayBuffer(result);

      })
    }
    readerP12Reader.readAsArrayBuffer(this.pkcs12File);
  }

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你可以尝试通过这样做来将它声明为全局变量

declare var PDFSIGN: any;

但是这里有一个骗局,你的IDE中不会有任何智能感知,但你的代码仍会运行。