(Поскольку вы ссылались на пример Java, я также буду ссылаться на iText для Java.)
В примере SuperImpose
страницы для наложения добавляются с использованием
canvas.addXObject(page, 0, 0);
, но существуют и другие перегрузки PdfCanvas.addXObject
, в частности
public PdfCanvas addXObject(PdfXObject xObject, float a, float b, float c, float d, float e, float f)
6 float
представляют аффинное преобразование, применяемое к объект XObject, например, вращение. Таким образом, вы можете повернуть импортированный XObject страницы из исходного документа в соответствии с ориентацией страницы документа назначения, например, заменить
canvas.addXObject(page, 0, 0);
на
canvas.addXObject(page, 0, 1, -1, 0, page.getHeight(), 0);
или, если это делает содержимое страницы перевернуто вверх ногами, на
canvas.addXObject(page, 0, -1, 1, 0, 0, page.getWidth());
Как и в примере, на который вы ссылались, я здесь предполагаю, что нижний левый угол вовлеченных страниц соответствует исходной точке системы координат. Если это предположение неверно, необходимо адаптировать последние два параметра float
соответственно в приведенных выше заменах.