Нужна помощь в устранении ошибки, когда Select.pdf отображает только половину содержимого последней страницы при преобразовании HTML в PDF - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь отобразить HTML как PDF, используя страницы Razor ASP.NET и файл Select.pdf.

Сначала все выглядит нормально, и отчет генерируется правильно.Но затем я начал добавлять изображения в конец отчета, и по какой-то причине это привело к некорректному отображению последней страницы, в результате чего была воспроизведена только половина содержимого.Не половина страницы, а половина содержимого на последней странице.Так что, если у меня есть одно изображение на последней странице, половина изображения отображается.Если у меня есть два изображения рядом, оно будет просвечивать до середины самого высокого из двух изображений.Если я добавлю текст после изображений, он будет отображать больше, пока он не станет равным половине высоты изображения + текст.

Кто-нибудь сталкивался с этой ошибкой раньше?Если так, как я могу заставить генератор PDF работать правильно?

РЕДАКТИРОВАТЬ: способ, которым я добавляю изображения, состоит в том, чтобы добавить их через цикл for, потому что мне нужно добавить их динамически.Поэтому я перебираю список URL-адресов, извлекаю из них изображения и связываю их, по два изображения в строке, максимум четыре изображения на страницу.

Если я посмотрю на HTML напрямую, браузер отобразит его правильно.Но при попытке отобразить его в PDF с помощью Select.PDF это вызовет вышеупомянутую ошибку «рендеринг только половины содержимого».Хотя я успешно сделал так, что он рендерит меньше, чем это (до 10%; крошечная полоска изображений), отделяя текст изображения от самого изображения.

Я использую следующий цикл for::

    @{counter = 0;}
    @foreach (var image in Model.ReportImages)
    {

        @if (counter == 4)
        {
            <p style="page-break-before: always; clear: both;"></p>
            counter = 0;
        }

        <p style="float: left; width:45%; height:45%; text-align: center; margin-right:2%; margin-bottom: 2%; page-break-inside: avoid;"><img src="@Url.Content(image.ImageURL)" alt="IMAGES" style="width: 100%; page-break-inside: avoid;"/>@image.QuestionNumber</p>

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