Я пытаюсь отобразить представление в PrintedPdfDocument. Размер страницы, как и ожидалось, указан в единицах 1/72 дюйма. Итак, для страницы формата A0 (ширина = 33,11 дюйма) document.getPageWidth()
возвращает 2384 (33,11 * 72). Ширина холста страницы равна одному пикселю одной 1/72 дюйма, поэтому pageCanvas.getWidth()
возвращает 2384. Это справедливо для разных устройств. Все идет нормально.
Проблема, с которой я столкнулся, заключается в том, что на разных устройствах сгенерированный PDF-документ для одного и того же представления выглядит по-разному. На некоторых устройствах он растягивается на странице PDF, а на некоторых устройствах отображается так, как должен.
В чем тут может быть дело? Разве генерация PDF не должна быть независимой от устройства? Я заметил, что pageCanvas.getDensity()
отличается на разных телефонах. Почему плотность экрана телефона влияет на плотность холста страницы PDF?
Учитывая, что численно document.getPageWidth()
в 1/72 дюйма == pageCanvas.getWidth()
в пикселях, не должно ли pageCanvas.getDensity()
всегда быть 72 DPI? На некоторых телефонах это 320 (где отображается правильно), а на других - 420 (где изображение отображается растянутым).
Немного застрял здесь, поэтому был бы очень признателен за любые указатели. Заранее спасибо!