Прежде всего
mediaBox.transform(Matrix.getScaleInstance(0.5f, 0.5f));
не не меняет mediaBox
на половину его прежнего размера. Вместо этого он возвращает путь, который представляет масштабированный прямоугольник; так как вы игнорируете возвращаемое значение этого выражения, эта строка вашего кода по сути является NOP (без операции).
Если вы подумаете об этом на короткое время, вы увидите, что метод transform
, очевидно, не может заменить прямоугольник на результат преобразования, так как этот результат произвольного аффинного преобразования больше не должен быть прямоугольником, в конкретная не одна параллель краям страницы.
При этом, даже если ваш код масштабировал медиа-блок, результат все равно не будет тем, что вы хотите, в результате pdf будет отображать только часть исходной страницы, так как вы только масштабируете видимый раздел . холста, но не его содержание .
Таким образом, помимо фактического масштабирования медиа-бокса, вам также необходимо масштабировать содержимое. То есть Вы должны предварительно добавить дополнительный поток содержимого к содержимому страницы и изменить текущую матрицу преобразования с помощью преобразования масштабирования.