如何将当前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。
<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。