Както гордо твърди заглавието искам да "експорт"-на HTML таблица в PDF файл.
Намерих няколко примера и помощни инструменти, но всички те имат проблем с UTF-8,
какъвто именно е формата на страницата ми.
html2pdf предполагам ще се справи с нещото,но идеята ми е
да мога само HTML таблицата да я прекарам през html2pdf.
За целта сложих един div около таблица и взимам HTML кода в
var html_table = $("#exportpdf").html();
обаче някак не мога да го прекарам през html2pdf.
Искам да имам линк на който примерно с onClick да викна функция , която да вземе HTML кода на таблица
и да го метне някак с Ajax на файла примерно export_pdf.php , в който именно се правят нещата с
html2pdf:
$content=$_GET[html_table];
// convert in PDF
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'en');
// $html2pdf->setModeDebug();
$html2pdf->setDefaultFont('Arial');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple00.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}
Обаче хич ме няма в тоя Ajax.
Искам и самата функция да изведе пдф файла направо за запис подобно както
се прави по подобен начин експорт за Ексел.
var tableToExcel = (function() {
var uri = 'data:application/vnd.ms-excel;base64,'
, template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>'
, base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }
, format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) }
return function(table, name) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
window.location.href = uri + base64(format(template, ctx))
}