iText7 накладывает два PDF-файла как один новый выпуск - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь наложить или наложить две страницы PDF формата A4 как одну страницу в новом документе PDF формата A4 Я попытался изменить порядок исходных документов, проверил, что они действительно формат A4, но каждый раз, когда я запускаю второй объект всегда прибавляется примерно на 10 мм вправо и вверх. Есть ли какая-то начальная точка или поле, которое я должен установить перед добавлением второго объекта?

PdfDocument pdfDocNew = new PdfDocument(new PdfWriter(dest));
PdfDocument pdfDocSrc1 = new PdfDocument(new PdfReader(source1));
PdfDocument pdfDocSrc2 = new PdfDocument(new PdfReader(source2));

PageSize pageSize = PageSize.A4;
PdfPage targetPage = pdfDocNew.AddNewPage(pageSize);
PdfCanvas canvas = new PdfCanvas(targetPage);

PdfPage currentPage = pdfDocSrc1.GetPage(1);
Rectangle orig = currentPage.GetPageSize();
var width = 0.99f;
var height = 0.99f;
AffineTransform transformationMatrix = AffineTransform.GetScaleInstance(width,height);
canvas.ConcatMatrix(transformationMatrix);
var height1 = orig.GetHeight();
var width2 = orig.GetWidth() / 2;
var height2 = orig.GetHeight() / 2;
PdfFormXObject pageCopy = currentPage.CopyAsFormXObject(pdfDocNew);
canvas.AddXObject(pageCopy,0,0);

currentPage = pdfDocSrc2.GetPage(1);
pageCopy = currentPage.CopyAsFormXObject(pdfDocNew);
canvas.AddXObject(pageCopy,0,0);
pdfDocNew.Close();

1 Ответ

0 голосов
/ 13 июля 2020

Thankyou @mkl GetLeft () и GetBottom () оба вернули 29,17, поэтому я корректирую их сейчас (через переменные, но эффективно) canvas.AddXObject (pageCopy, -29.17, -29.17)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...