Я создаю файл Excel 2007 и вывожу его в формате PDF с помощью mPDF. Я использовал файлы примеров PHPExcel в качестве отправной точки. Я использую файлы шаблонов xlsx для создания файлов Excel, содержащих изображения, некоторые текстовые стили и стили текста.
Сгенерированные файлы xlsx хороши. А вот PDF нет! У первой страницы другое (более узкое) поле, чем у остальных, и она неровная на всех страницах.
Я пробовал разные вещи в файле php, который генерирует xlsx (до mPdf). Ничего не работает и ничего не меняет. Все примеры кода взяты прямо из документации PHPExcel:
// doesnt work!
$objPHPExcel->getActiveSheet()->getPageMargins()->setTop(0.1);
$objPHPExcel->getActiveSheet()->getPageMargins()->setRight(0.1);
$objPHPExcel->getActiveSheet()->getPageMargins()->setLeft(0.1);
$objPHPExcel->getActiveSheet()->getPageMargins()->setBottom(0.1);
// doesnt work!
$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth(1);
$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight(0);
// doesnt work!
$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
Так что ничего из этого не меняет и не делает того, что обещает.
Я МОГУ кое-что сделать:
// works!
$objPHPExcel->setActiveSheetIndex(0)->setShowGridlines(false);
// works!
$objPHPExcel->getActiveSheet()->getStyle('A1:'
. $objPHPExcel->getActiveSheet()->getHighestColumn()
. $objPHPExcel->getActiveSheet()->getHighestRow())->getFont()->setSize(9);
Я также пытался настроить макет в Classes / PHPExcel / Writer / PDF / mpdf.php:
// doesnt work!
$paperSize = 'A4';
// doesnt work!
$pdf = new mPDF('win-1252', 'A4', 8, 'DejaVuSansCondensed', 15, 15, 15, 15, 8, 8);
Так что я не знаю, что мне делать. Некоторые работы, большинство - нет .... Любая помощь будет принята с благодарностью!