如何将当前HTML+PHP页面代码存储为字符串并用它生成PDF文件

How to store the current HTML+PHP page code as a string and use it to generate a PDF file

<button id="PRINT" class="btn btn-theme btn-register margintop10 pull-left"
type="button" onclick="return printReport();">PRINT</button>

// Here is the class instance which is used to print the PDF file. 
    $orderController = new orderController();
    $orderController->BuildPDF($html);

1)最重要的疑问,我不知道如何将当前HTML+PHP页面代码检索为两种语言的字符串:javascript或PHP.我们有哪些功能和服务器变量来实现这个目的?

2) 不确定我是否应该 link 按钮到 javascript 函数 并且以某种方式存储当前页面代码并调用单独的 php class.

或者如果我应该为按钮设置附加的 link (href="") 并调用不同的 PHP(发送页面代码) 文件到 运行 报告生成。

通过JS获取文件内容

因此,您可以尝试创建一个名为 retrieve.php 的 PHP 文件,您可以在该文件中执行以下操作:

<?php
if (!empty($_GET['file']) && file_exists($_GET['file'])) {
    echo file_get_contents($_GET['file']);
}
exit;

并且在你的 JS 中,你可以简单地做一个 ajax 请求来调用 retrieve.php?file=<your path to this file>;假设您知道要作为字符串获取的文件位于何处。

用于获取 PHP

中的文件内容

同样,在PHP中你可以使用相同的file_get_contents($path);函数:

<?php
// Include stuff to get the controller objects.

$path = 'path/to/printablefile.php';
$html = '';
if (file_exists($path)) {
    $html = file_get_contents($path);
}

$orderController = new orderController();
$orderController->BuildPDF($html);

至于将此应用于您的问题,您应该让当前页面获取您想要打印的 code/page。

详情见http://php.net/manual/en/function.file-get-contents.php