我有一个干净的HTML页面。我需要打印(下载)它作为一个PDF文件。我在网上搜索过。但是每个人都提供一些插件和库。没有这些,我可以这样做吗?我的意思是如何使用php代码下载为pdf。我正在使用codeigniter清理HTML页面为pdf
<table><tr>
<td>Name</td>
<td><?php echo $name;?></td>
</tr></table>
这就是我的代码的外观。 $名称值将是动态的
我有一个干净的HTML页面。我需要打印(下载)它作为一个PDF文件。我在网上搜索过。但是每个人都提供一些插件和库。没有这些,我可以这样做吗?我的意思是如何使用php代码下载为pdf。我正在使用codeigniter清理HTML页面为pdf
<table><tr>
<td>Name</td>
<td><?php echo $name;?></td>
</tr></table>
这就是我的代码的外观。 $名称值将是动态的
我认为你将不得不通过插件/库路线。不确定PHP本身是否提供PDF生成功能。
我有一个很好的开源库用于PDF生成,但如果您不熟悉XSLT,它会有一个陡峭的学习曲线。它的名字叫做XSL-FO。
Apache FOPfop是我用过的一款不错的FO处理器。
而here是一个教程链接,我只是使用PHP来使用XSL-FO。这是我遇到的第一个链接,我相信你可以找到许多其他的可能比这个更好的链接。
简单的方法使用DOMPDF创建HTML页面的PDF
您的DOM PDF库
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
* CodeIgniter PDF Library
*
* Generate PDF's in your CodeIgniter applications.
*
* @package CodeIgniter
* @subpackage Libraries
* @category Libraries
* @author Chris Harvey
* @license MIT License
* @link https://github.com/chrisnharvey/CodeIgniter-PDF-Generator-Library
*/
require_once(dirname(__FILE__) . '/dompdf/dompdf_config.inc.php');
class Pdf extends DOMPDF
{
/**
* Get an instance of CodeIgniter
*
* @access protected
* @return void
*/
protected function ci()
{
return get_instance();
}
/**
* Load a CodeIgniter view into domPDF
*
* @access public
* @param string $view The view to load
* @param array $data The view data
* @return void
*/
public function load_view($view, $data = array())
{
$html = $this->ci()->load->view($view, $data, TRUE);
$this->load_html($html);
}
}
可以
放INT下载DOMPDF文件夹到库文件夹
https://github.com/dompdf/dompdf
contr奥勒这样调用
$data['etc_data'] = $this->model->data($id);
$data['evn_etc_data'] = $this->model->ext_data($id);
$this->load->view('pdf',$data);
$this->load->view('pdf',$data);
$this->load->library('pdf');
$this->pdf->load_view('pdf',$data);
$this->pdf->render();
$this->pdf->stream("test.pdf");
您的看法是这样
<?php print_r($etc_data);?>
<?php print_r($evn_etc_data);?>
//这里写你的HTML代码和你的逻辑 其他明智的,你可以看到这个链接实现基于帮手
https://github.com/EllisLab/CodeIgniter/wiki/PDF-generation-using-dompdf
在哪里编写html代码?在<?php print_r($ etc_data);?>?之后 –
鉴于您可以根据您的要求编写注意:此处外部css不工作,您应该写入内嵌css或嵌入式css –
您可以使用window.print函数。
<script type="text/javascript">
$(document).ready(function(){
$('#pdf').click(function(){
printDiv();
function printDiv() {
var printContents = $(".content").html();
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
});
});
</script>
其中内容是div类的名称。您可以创建该div的pdf。
这不是打印到pdf。即使使用普通的JavaScript,我们也可以做到 –
PDF和HTML是两个截然不同的野兽。大多数现代浏览器可以本地呈现PDF,但它们使用的是与HTML呈现引擎完全不同的引擎。我这样说是为了让你知道你不能随便切换到“PDF模式”。 PDF是一种与HTML几乎一样古老的二进制文件格式,看起来完全不像HTML。 PDF规范是开放的,所以你一定可以用PHP编写它,但除非你感到无聊(像我一样),你需要一段时间才能阅读1300多页。只用一个久经考验的图书馆真的很容易。对于PHP,我经常使用FPDF http://www.fpdf.org/ –