Задача сохранении XLSX в PDF на php
Библиотека phpoffice/phpspreadsheet (подробнее в статье Работа с XLSX), среди всего прочего позволяет сохранять документы в нужном формате.
     
		
	
		Для начала установил phpspreadsheet:
 
composer require phpoffice/phpspreadsheet
 
Но при первом же тесте, взятом из документации, получил ошибку 
Fatal error: Uncaught PhpOffice\PhpSpreadsheet\Writer\Exception: No writer found for type Pdf,
 дело в том, что работу с PDF phpoffice/phpspreadsheet производит через сторонние библиотеки и их нужно ставить отдельно.
Для первого теста выбрал mPDF
Установил ее:
 
composer require mpdf/mpdf
 
И сразу получил сообщение open_basedir restriction in effect. File(/tmp) is not within the allowed path, а также выяснилось, что съедалось любое количество выделенной оперативной памяти. 
Решилось проблема редактированием файла настроек хоста: php_admin_value open_basedir "/home/public/NAME.ru/:/tmp"
 
Результат был такой:

 
Сам код:
 
require_once('vendor/autoload.php');
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\Writer\Pdf;
$oReader = new Xlsx();
$oSpreadsheet = $oReader->load('i_Акт.xlsx');
$oWriter = IOFactory::createWriter($oSpreadsheet, 'Mpdf');
$oWriter->save('i_Акт.pdf');
 
Вторым выбрал Dompdf
Установка:
 
 composer require dompdf/dompdf
 
Изменение кода:
 
$oWriter = IOFactory::createWriter($oSpreadsheet, 'Dompdf'); // Mpdf => Dompdf
 
Результат получился лучше, но все равно не тот:

При тестоах выяснилось, что проблема именно в Dompdf:
 
use Dompdf\Dompdf;
$dompdf = new Dompdf();
//$dompdf->set_option('defaultFont', 'dejavu sans');
//$dompdf->loadHtml( iconv("UTF-8", "windows-1251", 'Супер тест!' . rand(-10, 10) ) );
$dompdf->loadHtml( '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <h1>Супер</h1> тест!'. rand(-10, 10), 'UTF-8' );
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream();
 
- тоже выдает не верную кодировку. 
Попробовал заменить его стандартные шрифты на такие же, но с поддержкой кириллиц - результат не получил.
Временно отложил эту библиотеку.
Третий тест был для TCPDF
Установка:
 
composer require tecnickcom/tcpdf
 
Изменение кода:
 
$oWriter = IOFactory::createWriter($oSpreadsheet, 'Tcpdf'); // Tcpdf
 
Первый Вариант, оказался не очень:

В заключении
Лучший вариант был у библиотеки mPDF
Для остальных нужно тестировать разные настройки, как это сделать описывается в документации  в разделе Custom implementation or configuration
 
class My_Custom_TCPDF extends TCPDF
{
    // ...
}
class My_Custom_TCPDF_Writer extends \PhpOffice\PhpSpreadsheet\Writer\Pdf\Tcpdf
{
    protected function createExternalWriterInstance($orientation, $unit, $paperSize)
    {
        $instance = new My_Custom_TCPDF($orientation, $unit, $paperSize);
        // more configuration of $instance
        return $instance;
    }
}
\PhpOffice\PhpSpreadsheet\IOFactory::registerWriter('Pdf', MY_TCPDF_WRITER::class);