From 95012cc4632c83522588ad32137a53d5280b606e Mon Sep 17 00:00:00 2001 From: pubpub-zz <4083478+pubpub-zz@users.noreply.github.com> Date: Sat, 10 Sep 2022 21:08:20 +0200 Subject: [PATCH] BUG: Fix Error in transformations (#1341) Error detected during analysis of #1280 --- PyPDF2/_page.py | 4 ++-- tests/test_page.py | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/PyPDF2/_page.py b/PyPDF2/_page.py index 682db1151..cb38a1a0e 100644 --- a/PyPDF2/_page.py +++ b/PyPDF2/_page.py @@ -217,8 +217,8 @@ def compress(matrix: TransformationMatrixType) -> CompressedTransformationMatrix matrix[0][1], matrix[1][0], matrix[1][1], - matrix[0][2], - matrix[1][2], + matrix[2][0], + matrix[2][1], ) def translate(self, tx: float = 0, ty: float = 0) -> "Transformation": diff --git a/tests/test_page.py b/tests/test_page.py index 8abaa6f1a..77990ba63 100644 --- a/tests/test_page.py +++ b/tests/test_page.py @@ -88,6 +88,10 @@ def test_page_operations(pdf_path, password): page: PageObject = reader.pages[0] + t = Transformation().translate(50, 100).rotate(90) + assert abs(t.ctm[4] + 100) < 0.01 + assert abs(t.ctm[5] - 50) < 0.01 + transformation = Transformation().rotate(90).scale(1).translate(1, 1) page.add_transformation(transformation, expand=True) page.add_transformation((1, 0, 0, 0, 0, 0))