hi abu, i have problem to export image. excel and pdf file just showing image link, instead picture. thx…
Images in export format is not supported.
You can have your custom export logic and page.
Refer demos/export/export-custom.php
is it possible to provide exporting as PDF EXCEL and CSV in one grid toolbar simultaneously? I am able to display the icon(text) buttons on the toolbar,
but only one function will work when clicking on each one.
ANY CLUE?
CODE:
$g->set_actions(array(
"export" => true,
"export_excel" => true, // export excel button
"export_pdf" => true, // export pdf button
"export_csv" => true // export csv button
)
);
$grid["export"] = array("format" => "pdf", "filename" => "PDF Contracts", "heading" => "Test PDF Export", "range" => "filtered", "orientation" => "landscape", "paper" => "a4");
$grid["export"] = array("format" => "xsls", "filename" => "EXCEL Contracts", "heading" => "Test EXCEL Export", "sheetname" => "Contracts in EXCEL", "range" => "filtered");
$grid["export"] = array("format" => "csv", "filename" => "CSV Contracts", "heading" => "Test CSV Export", "range" => "filtered");
$g->set_options($grid);
$e["on_render_pdf"] = array("set_pdf_format", null); //export as pdf file
$e["on_render_xls"] = array("set_xls_format", null); //export as excel file
$e["on_render_csv"] = array("set_csv_format", null); //export as csv file
$g->set_events($e);
//PDF EXPORT FORMAT
function set_pdf_format($arr) {//function to PRINT PDF
$pdf = $arr["pdf"];
$data = $arr["data"];
$pdf->SetFont('helvetica', '', 8);
$pdf->SetCellWidths(array(10, 15, 10, 16, 12, 18, 15, 12, 20, 16, 20, 22, 16, 20, 18, 12, 10, 'auto'));
}
//EXCEL EXPORT FORMAT
function set_xls_format($arr) {
$pdf = $arr["xls"];
$data = $arr["data"];
}
//CSV EXPORT FORMAT
function set_csv_format($arr) {
$pdf = $arr["csv"];
$data = $arr["data"];
}
For exporting multiple format, you only set general parameters in grid options.
$grid["export"] = array("filename"=>"my-file", "heading"=>"Export Test", "range" => "filtered");
And override the filename/headings in on_export callback handler.
$e["on_export"] = array("custom_export", null, false);
$g->set_events($e);
// custom on_export callback function
function custom_export($param)
{
$sql = $param["sql"]; // the SQL statement for export
$grid = $param["grid"]; // the complete grid object reference
if ($grid->options["export"]["format"] == "excel")
{
$grid->options["export"]["filename"] = 'XLS-Contracts';
$grid->options["export"]["heading"] = 'Test XLS Contracts';
…
}
}
Sample code available here: http://pastebin.com/iDn8PUuj
To export an image with PDF I did in this mode:
1. I modified the "class.TCPDF.EasyTable" adding those 2 lines:
if (strpos($cellData, 'jpg') > 0 || strpos($cellData, 'png') > 0)
$cellData = new PDFImage(substr($cellData, strrpos($cellData, '/') + 1), substr($cellData, 0, strrpos($cellData, '/') + 1));
after this existing line (รท line number 333):
$cellWidth = $this->_GetCellWidth($cellIndex); // get the cell width
2. in the table the image must be recorded with pathname/imagename.jpg (or .png) (the pathname can be relative or absolute)
Massimo Gagliardi
Thanks Massimo for the solution.
For step1, Better position of PDFImage will be at line 70, in function constructor. This will also resolve the rowHeight issue.
Code snippet: http://hastebin.com/kisejocodu.php