Как рассчитать высоту столбца FPDF, чтобы минимизировать вертикальное пространство - PullRequest
0 голосов
/ 07 ноября 2019

Я искал и не могу найти ничего, связанного с моей проблемой. Я предполагаю, что это будет распространенной проблемой для кодеров, работающих в форматах макета (например, PDF).

Вот моя проблема. Я делаю PDF-файлы в FPDF, используя PHP 7.x, и мне нужно максимально использовать вертикальное пространство на получающейся странице, создав несколько столбцов примерно одинаковой длины. Учитывая один массив массивов различной длины, мне нужно создать массив, содержащий X столбцов элементов, переупорядоченных должным образом, чтобы я мог использовать полученный массив для добавления столбцов в PDF. Хитрость заключается в том, чтобы упорядочить их так, чтобы все столбцы оказались как можно ближе к одинаковой длине.

Вот мой массив:

<?php
$array = [
    'Section A Title' => 
        [
            'Footing',
            'Framing',
            'Electrical Rough',
            'Electrical Finish',
            'Plumbing Rough',
            'Final Inspection'
        ],
    'Section B Title' =>
        [
            'Floor/Interior',
            'Concrete flatwork preparation'
        ],
    'Section C Title' =>
        [
            'Building',
            'Zoning',
            'Road Access'
        ],
    'Section D Title' =>
        [
            'Private utility lines identified and marked',
            'Site Preparation (pre-construction)',
            'Purchase of (pre-construction) fill material',
            'Obstruction removal',
            'Termite pre-treatment',
            'Final/Finish grading',
            'Dumpster/Trash removal',
            'Utility line marking/digging clearance'
        ],
    'Section E Title' =>
        [
            'Temporary electrical service',
            'Permanent electrical rough-in/hookup',
            'Gas service rough-in/hookup'
        ]
];

Если два столбца желательны, то результирующий массив будет выглядеть следующим образом (обратите внимание, что столбец 0 дает 14 строк, а столбец 1 имеет 13 строк)):

<?php

$result = [
    '0' => //Column 1
        ['Section A Title' => 
            [
                'Footing',
                'Framing',
                'Electrical Rough',
                'Electrical Finish',
                'Plumbing Rough',
                'Final Inspection'
            ],
        ['Section B Title' =>
            [
                'Floor/Interior',
                'Concrete flatwork preparation'
            ],
        ['Section C Title' =>
            [
                'Building',
                'Zoning',
                'Road Access'
            ]
        ],
    '1' => //Column 2
        ['Section D Title' =>
            [
                'Private utility lines identified and marked',
                'Site Preparation (pre-construction)',
                'Purchase of (pre-construction) fill material',
                'Obstruction removal',
                'Termite pre-treatment',
                'Final/Finish grading',
                'Dumpster/Trash removal',
                'Utility line marking/digging clearance'
            ],
        ['Section E Title' =>
            [
                'Temporary electrical service',
                'Permanent electrical rough-in/hookup',
                'Gas service rough-in/hookup'
            ]
        ]
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...