Я хочу знать, можно ли клонировать существующее содержимое PDF с помощью iText.В основном у меня есть PDF в следующем формате:
Без клонирования контента
Я хочу клонировать контент, который находится на левой стороне вышеPDF и хотите получить результат в соответствии с приведенным ниже форматом.
После клонирования содержимого
Мне интересно, возможно ли это с помощью класса iText PdfStamper или любого другогокласс iText?
Обновление кода с помощью iText7
public void clonePageContent(String dest) throws IOException {
// Initialize PDF Document
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
PdfDocument sourcePdf = new PdfDocument(new PdfReader(SRC));
// Original page
PdfPage origPage = sourcePdf.getPage(1);
// Original page size
Rectangle orig = origPage.getPageSize();
PdfFormXObject pageCopy = origPage.copyAsFormXObject(pdf);
// N-up page
PageSize nUpPageSize = PageSize.LETTER;
PdfPage page = pdf.addNewPage(nUpPageSize);
page.setRotation(90);
PdfCanvas canvas = new PdfCanvas(page);
// Scale page
AffineTransform transformationMatrix = AffineTransform
.getScaleInstance(
nUpPageSize.getWidth() / orig.getWidth() / 2f,
nUpPageSize.getHeight() / orig.getHeight() / 2f);
canvas.concatMatrix(transformationMatrix);
// Add pages to N-up page
canvas.addXObject(pageCopy, 0, orig.getHeight());
canvas.addXObject(pageCopy, orig.getWidth(), orig.getHeight());
pdf.close();
sourcePdf.close();
}
С помощью приведенного выше кода я не могу произвести вывод, как ожидалось.Может ли кто-нибудь пролить свет на то, что нужно настроить, чтобы получить ожидаемый результат выше?