我使用itextpdf将一些pdf合并为一个。 itextpdf pdfcontentbyte addtemplate参数的含义是什么,没有文档来描述它们。
答案 0 :(得分:2)
下面的代码做了诀窍,感谢帮助我的人。
strncpy()
答案 1 :(得分:1)
public void addTemplate(PdfTemplate template,
double a, double b, double c, double d, double e, double f)
六个值a
,b
,c
,d
,e
和f
是具有三个值的矩阵的元素行和三列。
您可以使用此矩阵在二维系统中表达转换。
执行此乘法会导致:
x' = a * x + c * y + e
y' = b * x + d * y + f
矩阵中的第三列是固定的:您在两个维度上工作,因此您不需要计算新的z坐标。
在高中学习分析几何时,您可能已经学会了如何将变换应用于对象。 在PDF中,我们使用稍微不同的方法:我们不是变换对象,而是变换坐标系。
e
和f
值可用于翻译。 a
,b
,c
和d
值可用于轮播和/或缩放操作。
默认情况下,当前转换矩阵(CTM)为:
使用addTemplate()
方法,您可以将Form XObject添加到画布并使用e
,f
定义位置,例如:
canvas.addTemplate(template, 36, 36);
这将在坐标x = 36处添加template
; y = 36。
通过引入a
,b
,c
和d
,您还可以轮播和/或缩放template
。
更新:如评论中所述,如果您不喜欢转换矩阵的代数,则可能需要使用接受AffineTransform
参数的重载方法。