PyPDF2 Transformation类
classPyPDF2.Transformation(ctm: Tuple[float, float, float, float, float, float] = (1, 0, 0, 1, 0, 0))
基类: object
表示二维变换。
两个坐标系之间的变换用一个 3×3 的变换矩阵表示,其形式如下:
a b 0
c d 0
e f 1
因为一个变换矩阵只有六个元素可以改变,所以它通常在 PDF 中被指定为六元素数组 [abcdef]。
坐标变换表示为矩阵乘法:
a b 0
[ x′ y′ 1 ] = [ x y 1 ] × c d 0
e f 1
例子
>>> from PyPDF2 import Transformation
>>> op = Transformation().scale(sx=2, sy=3).translate(tx=10, ty=20)
>>> page.add_transformation(op)
apply_on(pt: Union[Tuple[Decimal, Decimal], Tuple[float, float], List[float]])→ Union[Tuple[float, float], List[float]]
在给定点上应用变换矩阵。
- 参数
pt – 表示形式为 (x, y) 的点的元组或列表
- 返回
以 (x', y') 形式表示转换点的元组或列表
staticcompress(matrix: Tuple[Tuple[float, float, float], Tuple[float, float, float], Tuple[float, float, float]])→ Tuple[float, float, float, float, float, float]
将变换矩阵压缩为 (a, b, c, d, e, f) 的元组。
- 参数
matrix -- 转换矩阵作为元组的元组。
- 返回
表示转换矩阵的元组 (a, b, c, d, e, f)
属性 matrix: Tuple[Tuple[float, float, float], Tuple[float, float, float], Tuple[float, float, float]]
以元组的元组形式返回转换矩阵:((a, b, 0), (c, d, 0), (e, f, 1))
rotate(rotation: float)→ Transformation
旋转页面的内容。
- 参数
rotation – 以度为单位的旋转角度。
- 返回
具有旋转矩阵的新Transformation实例。
scale(sx: Optional[float] = None, sy: Optional[float] = None)→ Transformation
将页面内容缩放到坐标系的原点。
通常,这是页面的左下角。这可以通过翻译内容/页面框来改变。
- 参数
sx – 沿 x 轴的比例因子。
sy – 沿 y 轴的比例因子。
- 返回
具有缩放矩阵的新 Transformation 实例。
translate(tx: float = 0, ty: float = 0)→ Transformation
翻译页面内容。
- 参数
tx – 沿 x 轴的平移。
ty – 沿 y 轴的平移。
- 返回
一个新的Transformation 实例
更多建议: