Сортировать страницу по названию изображения - PullRequest
0 голосов
/ 06 февраля 2020

Я хочу отсортировать страницу PDF по номеру в имени изображения, но это не работает. Страницы сортируются по видимости в файле Excel. Поэтому я попытался использовать массив, но я не более продвинут, чем раньше ... независимо от того, что я делаю, как только он проходит через Excel, страницы располагаются в порядке появления в решении Excel A?

$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('Config.xlsx');
$spreadsheet->setActiveSheetIndex(0);
$dir = 'Visuel/*';
$files = glob($dir, GLOB_BRACE);
$pdf = new PDF_Code39('p', 'mm', array(100, 240));

$highestRow = $spreadsheet->getActiveSheet()->getHighestRow();
for ($row = 1; $row <= $highestRow; ++$row) {
    $tabl = array(
        $telephone = $spreadsheet->getActiveSheet()->getCell('B' . $row)->getValue(),
        $y = $spreadsheet->getActiveSheet()->getCell('C' . $row)->getValue(),
        $x = $spreadsheet->getActiveSheet()->getCell('D' . $row)->getValue()
    );
    usort($tabl, 'cmp');
}

foreach ($files as $dir) {
    $img = $dir;
    $img = strtoupper($img);
    $size = getimagesize($img);
    $newtext = substr($img, 7);
    $part = explode('-', $newtext);



    if ($part[2] == $telephone) {
        if ($telephone == 'MUG') {
            $YPX = $y * 12.5;
            $XPX = $x * 11;
            $pdf->AddPage();
            if ($size) {
                if ($size['mime'] == 'image/jpeg') {
                    $img_source = imagecreatefromjpeg($img);
                    $img_dest = imagecreatetruecolor($XPX, $YPX);
                    imageresolution($img_dest, 300, 300);
                    imagecopyresampled($img_dest, $img_source, 0, 0, 0, 0, $XPX, $YPX, $size[0], $size[1]);
                    imageflip($img_dest, IMG_FLIP_HORIZONTAL);
                    imagejpeg($img_dest, $img, 100);
                }
            }
            $pdf->Image($img, 5, 8);
            $pdf->AddPage();
            $pdf->SetFont('Arial', '', 20);
            $pdf->SetTextColor(107, 107, 71);
            $pdf->Image($img, 0, 0, 30, 60);
            $pdf->Text(15, 130, $part[0]);
            $pdf->Text(40, 130, $part[2]);
            $pdf->Code39(25, 100, $part[1]);
        }


        if ($part[2] == $telephone) {
            if ($telephone != 'MUG') {
                if ($telephone != "POP") {
                    $y = $spreadsheet->getActiveSheet()->getCell('C' . $i)->getValue();
                    $x = $spreadsheet->getActiveSheet()->getCell('D' . $i)->getValue();
                    $YPX = $y * 14;
                    $XPX = $x * 14;
                    $pdf->AddPage();
                    $pdf->SetFont('Arial', '', 12);
                    $pdf->SetTextColor(107, 107, 71);
                    if ($size) {
                        if ($size['mime'] == 'image/jpeg') {
                            $img_source = imagecreatefromjpeg($img);
                            $img_dest = imagecreatetruecolor($XPX, $YPX);
                            imageresolution($img_dest, 300, 300);
                            imagecopyresampled($img_dest, $img_source, 0, 0, 0, 0, $XPX, $YPX, $size[0], $size[1]);
                            imageflip($img_dest, IMG_FLIP_HORIZONTAL);
                            $color = imagecolorallocate($img_dest, 107, 107, 71);
                            drawBorder($img_dest, $color, 3);
                            imagejpeg($img_dest, $img, 100);
                        }
                    }
                    $pdf->Image($img);
                    $pdf->Text(5, 238, $part[0]);
                    $pdf->Text(13, 238, $part[1]);
                    $pdf->Text(28, 238, $part[2]);
                    $pdf->Text(80, 238, $part[3]);
                    $pdf->Code39(30, 205, $part[1]);
                }
            }



            if ($part[2] == $telephone) {
                if ($telephone == 'POPSOCKET') {
                    $y = $spreadsheet->getActiveSheet()->getCell('C' . $i)->getValue();
                    $x = $spreadsheet->getActiveSheet()->getCell('D' . $i)->getValue();
                    $YPX = $y * 12.5;
                    $pdf->AddPage();
                    $pdf->SetFont('Arial', '', 12);
                    $pdf->SetTextColor(107, 107, 71);
                    if ($size) {
                        if ($size['mime'] == 'image/jpeg') {
                            $img_source = imagecreatefromjpeg($img);
                            $img_dest = imagecreatetruecolor($XPX, $YPX);
                            imageresolution($img_dest, 300, 300);
                            imagecopyresampled($img_dest, $img_source, 0, 0, 0, 0, $XPX, $YPX, $size[0], $size[1]);
                            imageflip($img_dest, IMG_FLIP_HORIZONTAL);
                            $color = imagecolorallocate($img_dest, 107, 107, 71);
                            drawBorder($img_dest, $color, 3);
                            imagejpeg($img_dest, $img, 100);
                        }
                    }
                    $pdf->Image($img);
                    $pdf->Text(5, 238, $part[0]);
                    $pdf->Text(13, 238, $part[1]);
                    $pdf->Text(28, 238, $part[2]);
                    $pdf->Text(80, 238, $part[3]);
                    $pdf->Code39(30, 205, $part[1]);
                }
            }
        }
    }
}

$pdf->Output('Commandes du ' . date("d.m.y") . '.pdf', 'I');




Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...