可以让Print.js打印变量吗?

时间:2018-01-07 15:54:41

标签: javascript php pdf fpdf printjs

我已经配置了Print.js并且打印文件路径(.pdf)就好了,但是我想让onclick打印变量。这可能吗?

默认: 按钮类型="按钮"的onclick =" printJS('文档/ printjs.pdf')     打印PDF  

但是类似于: 按钮类型="按钮" onclick =" printJS(' echo $ variable')     打印PDF  

我需要它根据新生成的pdf文件名调用不同的PDF来每次打印。我正在使用FPDF合并,它将html表单字段值合并到PDF模板中,并吐出一个新填充的PDF。然后我使用Print.js调用新创建的PDF并打印它。但它每次都是一个新文件......所以我需要以某种方式插入一个变量。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

是的,您可以将动态创建的pdf文件传递给printJS函数。但是,您编写的代码没有正确混合PHP和Javascript。

在不了解您的环境的情况下,很难提供帮助。但是,假设您只是在.php文件中编写javascript和html。您可以像这样修改代码:

button type="button" onclick="printJS('<?php echo $variable; ?>')

但是,您还可以创建自定义javascript函数以与onClick一起使用:

<script
  function getFileAndPrint() {
    // Generate pdf and get its filename  
    // Assuming your are writing this in a .php file  
    let printFile = '<?php echo $variable; ?>'  

    // Freedom to do anything else you may want to
    // ...

    // Pass pdf to printJS
    printJS(printFile)
  }
</script>

然后在按钮点击事件上触发该功能:

button type="button" onclick="getFileAndPrint()