在iText中添加地图Java
问题描述:
我正在使用java和iText创建pdf。是否可以添加带有指针的地图,以便用户知道起点的位置?在iText中添加地图Java
澄清(从由OP一个同时删除了答案,应该是这个问题的编辑)
我的问题是,我可以在iText的谷歌地图添加来自网络,而不是作为一个图片
答
既然你没有回答我的反问题在评论中添加,我提供给你两个例子。如果这些不是你要找的东西,你真的应该澄清你的问题。
实施例1:添加自定义形状额外的内容上的地图
这表现在AddPointer示例的顶:
PdfContentByte canvas = writer.getDirectContent();
canvas.setColorStroke(BaseColor.RED);
canvas.setLineWidth(3);
canvas.moveTo(220, 330);
canvas.lineTo(240, 370);
canvas.arc(200, 350, 240, 390, 0, (float) 180);
canvas.lineTo(220, 330);
canvas.closePathStroke();
canvas.setColorFill(BaseColor.RED);
canvas.circle(220, 370, 10);
canvas.fill();
如果我们知道指针的坐标,我们可以绘制线条和曲线,从而得到此处显示的红色指针(请参阅剑桥创新中心附近的红色指针):
实施例2:在地图上
这表现在AddPointerAnnotation示例的顶添加一行注释:
Rectangle rect = new Rectangle(220, 350, 475, 595);
PdfAnnotation annotation = PdfAnnotation.createLine(writer, rect, "Cambridge Innovation Center", 225, 355, 470, 590);
PdfArray le = new PdfArray();
le.add(new PdfName("OpenArrow"));
le.add(new PdfName("None"));
annotation.setTitle("You are here:");
annotation.setColor(BaseColor.RED);
annotation.setFlags(PdfAnnotation.FLAGS_PRINT);
annotation.setBorderStyle(
new PdfBorderDictionary(5, PdfBorderDictionary.STYLE_SOLID));
annotation.put(new PdfName("LE"), le);
annotation.put(new PdfName("IT"), new PdfName("LineArrow"));
writer.addAnnotation(annotation);
其结果是一个注释(这是不的一部分真实的内容,但一部分的交互层对实体内容的顶部):
正是在这个意义上的互动,额外的信息显示,当用户点击注释:
许多其他的选择是可能的,但再次:你的问题是不完全清楚。
请说明。你的意思是“带指针的地图,用户知道起点的位置”?如果您的PDF中有地图,则可以添加一个看起来像箭头的注释。那是你在找什么? – 2014-11-05 08:34:46
*我可以添加在iText谷歌地图从网站,而不是一个图像* - 如何?请不要只说你**不要**,而是你**做的**。 – mkl 2014-11-06 09:21:28