itextpdf的含义pdfcontentbyte addtemplate的参数

时间:2017-08-29 03:31:00

标签: itext

我使用itextpdf将一些pdf合并为一个。 itextpdf pdfcontentbyte addtemplate参数的含义是什么,没有文档来描述它们。

2 个答案:

答案 0 :(得分:2)

下面的代码做了诀窍,感谢帮助我的人。

strncpy()

答案 1 :(得分:1)

public void addTemplate(PdfTemplate template,
    double a, double b, double c, double d, double e, double f)

六个值abcdef是具有三个值的矩阵的元素行和三列。

enter image description here

您可以使用此矩阵在二维系统中表达转换。

enter image description here

执行此乘法会导致:

x' = a * x + c * y + e
y' = b * x + d * y + f

矩阵中的第三列是固定的:您在两个维度上工作,因此您不需要计算新的z坐标。

  

在高中学习分析几何时,您可能已经学会了如何将变换应用于对象。   在PDF中,我们使用稍微不同的方法:我们不是变换对象,而是变换坐标系。

ef值可用于翻译。 abcd值可用于轮播和/或缩放操作。

enter image description here

默认情况下,当前转换矩阵(CTM)为:

enter image description here

使用addTemplate()方法,您可以将Form XObject添加到画布并使用ef定义位置,例如:

canvas.addTemplate(template, 36, 36);

这将在坐标x = 36处添加template; y = 36。

通过引入abcd,您还可以轮播和/或缩放template

更新:如评论中所述,如果您不喜欢转换矩阵的代数,则可能需要使用接受AffineTransform参数的重载方法。