2014-10-19 38 views

回答

1

从示例摘自你提到:

PdfContentByte cb = writer.getDirectContent(); 
PdfTemplate map = cb.createTemplate(6000, 6000); 
drawSvg(map, CITY); 
cb.addTemplate(map, 0, 0); 

map对象是画布,在这种情况下,测量6000由6000个用户单元(默认1用户单元= 1点)。

此画布可用作PDF内部的Form XObject。在iText语言中,表单XObject被称为PdfTemplate对象。您将SVG绘制到此PdfTemplate,在这种情况下使用SVG中定义的坐标。

一旦你已经绘制的SVG画布,你可以使用addTemplate()方法中添加表单x对象(或PdfTemplate)的PDF。

第一个参数是对象本身(在片段map对象中),另外两个参数是坐标(在本例中为(0, 0),正如您在问题中已经提到的那样)。

总之,你几乎回答了自己的问题:你是指一个例子与线:

cb.addTemplate(map, 0, 0); 

而且你注意到的图像始终位于(0,0)。

更改addTemplate()方法中的0, 0,并更改PDF中SVG图像的位置。