我試圖使打印到PDF中的即時使用PHP PDF生成,但到目前爲止我有一個問題,我想作爲生成的網頁PDF具有使用畫布通過flot生成的條形圖。如何使用PHP與canvas元素
有沒有人有經驗,用這個或不知道如何讓帆布打印到PDF?
我也開到的僅僅擁有我的客戶裝載有使用CSS樣式分頁符由(打印)頁面打破了報告的每個圖的頁面,並使用內置的打印到PDF打印機的想法。
我試圖使打印到PDF中的即時使用PHP PDF生成,但到目前爲止我有一個問題,我想作爲生成的網頁PDF具有使用畫布通過flot生成的條形圖。如何使用PHP與canvas元素
有沒有人有經驗,用這個或不知道如何讓帆布打印到PDF?
我也開到的僅僅擁有我的客戶裝載有使用CSS樣式分頁符由(打印)頁面打破了報告的每個圖的頁面,並使用內置的打印到PDF打印機的想法。
我從來沒有用過<canvas>
嘗試創建/打印PDF。我會用<canvas>
,因爲它不是在所有的瀏覽器都支持建議不。然而,在畫布中有一個函數叫做:toDataURL()
,它可以將畫布顯示的內容轉換爲可以用來保存/打印的圖像,但它將以圖像格式而不是pdf格式顯示。
我會建議使用一個PHP庫來創建一個PDF,然後顯示給用戶。我個人使用FPDF,但這裏只是少數人的名單:
//Here is the way to generate html into canvas into PDF
1 add can js files
jquery.js
JS/html2canvas.js
JS/jquery.plugin.html2canvas.js
2.get the html content to convert into canvas
$('.hideDivs').hide();
$('.formdrop').hide();
$('.block').html2canvas({
onrendered: function (canvas) {
//Set hidden field's value to image data (base-64 string)
$('#img_val').val(canvas.toDataURL("image/jpg"));
$('#img_val3').val($('.block').html()); //html of div
//Submit the form manualy
}
});
3. PHP back end with TC PDF
if(isset($_REQUEST['img_val'])):
//Get the base-64 string from data
$filteredData=substr($_POST['img_val'], strpos($_POST['img_val'], ",")+1);
//Decode the string
$unencodedData=base64_decode($filteredData);
//Save the image
$imgfile=FCPATH.'images/submsnimage_'.$this->session->userdata('admin_id').'.jpg';
$imagegerated=file_put_contents($imgfile, $unencodedData);
chmod($imgfile, 0777);
$pdfImageFile=site_url()."images/submsnimage_".$this->session->userdata('admin_id').'.jpg';
endif;
4 PDF generation
ini_set('max_execution_time',300);
require_once (FCPATH.'tcpdf/config/lang/eng.php');
require_once (FCPATH.'tcpdf/tcpdf.php');
$exa = new TCPDF();
$exa->SetCreator (PDF_CREATOR);
$exa->SetAuthor ('Clay County Admin');
$exa->SetTitle ('Clay County Form');
$exa->SetSubject ('Example of TCPDF');
$exa->SetKeywords ('TCPDF, PDF, PHP');
$exa->SetFont ('times', '', 18);
$exa->AddPage();
$exa->Image ($pdfImageFile, 15, 10, 430,630);
$exa->AddPage();
$exa->Image ($pdfImageFile2, 15, 10, 430,630);
$exa->AddPage();
$exa->Image ($pdfImageFile3, 15, 10, 430,630);
$exa->setImageScale(PDF_IMAGE_SCALE_RATIO);
$exa->setJPEGQuality (100);
$root=site_url();
$exa->setImageScale(1.53);
$txt ="";
$exa->WriteHTML ($txt, true, false, true, false, '');
$exa->Output (FCPATH.'uploads/pdf/clayCommunityBullyReport.pdf', 'F'); // downloads the pdf
你測試哪個PDF打印機?我對TCPDF有一些非常好的經驗。 – 2ndkauboy 2010-07-20 19:17:52
到目前爲止,我已經能夠使用任何默認的pdf打印機安裝在Windows XP機器上打印整個網頁。我會看看你的建議,並在今晚進行測試。 謝謝。 – Kprice 2010-07-20 21:08:18