我正在使用itextpdf实现pdf编辑应用程序。我在pdf中添加了一个文本,我使用canvas.drawPath()方法在android系统画布上绘制一个名称。就像我想在pdfCanvas上绘制名字一样可能吗?。
我尝试了一些在pdf画布上绘制曲线和矩形的示例,但没有提供精确的解决方案。为了在pdf画布上绘制曲线,我正在使用" PdfContentByte"。在这个类中,我发现了一些方法
curveFromTo(X1,Y1,X3,Y3) curveTo(X2,Y2,X3,Y3) curveTo(X1,Y1,X2,Y2,X3,Y3)
在这种方法中我保存它后使用curveFromTo()给镜像路径而不是原始路径。
意味着如果我在Android画布上绘制PDF,它就像镜像一样旋转。
是否可以在PDF文件上绘制路径。是否有任何方法,如canvas.drawPAth();
答案 0 :(得分:1)
首先要做的事情是:iText中没有canvas.drawPath()
方法。
现在问题的其余部分:有一些方法可以使用低级功能和方法在PDF页面上绘制文本,以使用高级功能绘制文本。
在最低级别,可以使用一系列beginText()
,setFontAndSize()
,setTextMatrix()
,showText()
和endText()
方法。这称为“文本对象”。
在更高级别,可以使用单个setTextMatrix()
方法替换showText()
和showTextAligned()
。
在更高级别,可以使用单个ColumnText.showTextAligned()
方法替换整个序列。
在最高级别,可以创建ColumnText
对象,为列定义Rectangle
,添加Paragraph
,PdfPTable
,...等对象列并执行go()
方法。
但是:当你说:
时,你犯了一个重大错误保存后,它给镜像路径不是原始路径。
意味着如果我在Android画布上绘制PDF,它就像镜像一样旋转。
除了糟糕的英语,你忽略了ISO-32000-1。通过阅读此ISO标准,您将发现您对PDF中的坐标系做出了错误的假设。在新创建的PDF中,坐标的原点可以在左下角找到。 X访问扩展到右侧。 Y访问向上扩展。
Android使用不同的坐标系。在将Android坐标转换为PDF坐标时,您需要确保转换坐标。