Я пишу просмотрщик PDF в Qt и C ++, используя Poppler. Как я могу отобразить страницу PDF, чтобы соответствовать размеру моего виджета? Poppler предоставляет метод с именем renderToImage, который принимает dpi и возвращает QImage, размер которого зависит от этого dpi. Как правильно рассчитать dpi?
pageSizeF()
возвращает размер страницы в пунктах, который, деленный на 72, дает размер страницы в дюймах.
Каждый компонент размера вашего виджета в пикселях, деленный на каждый компонент размера в дюймах, дает вам 2 значения dpi (1 для каждой оси).
Если вы хотите сохранить соотношение сторон страницы, вы должны передать меньшее из этих двух значений dpi в renderToImage
для обоих xres
а также yres
параметры.
Других решений пока нет …