1

我正在使用 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(); 这样的方法?

4

1 回答 1

1

首先要做的事情:canvas.drawPath()iText 中没有方法。

现在对于您的其余问题:有使用低级功能在 PDF 页面上绘制文本的方法和使用高级功能绘制文本的方法。

在最低级别,人们会使用一系列beginText()setFontAndSize()setTextMatrix()和方法。这称为“文本对象”。showText()endText()

在更高的层次上,可以用一种方法代替setTextMatrix()和。showText()showTextAligned()

在更高的层次上,可以用一种ColumnText.showTextAligned()方法代替完整的序列。

在最高级别,on 可以创建一个ColumnText对象,为列定义 a Rectangle,向列添加对象,例如Paragraph, PdfPTable,... 并执行该go()方法。

但是:当您说:

保存后它给出的是镜像路径而不是原始路径。

意味着如果我在 android 画布上绘制 PDF,它会像镜像一样旋转。

除了英语不好之外,您还忽略了 ISO-32000-1。通过阅读此 ISO 标准,您会发现您对 PDF 中的坐标系做出了错误的假设。在新创建的 PDF 中,可以在左下角找到坐标的原点。X 访问权限向右延伸。Y 通道向上延伸。

Android 使用不同的坐标系。您需要确保在将 Android 坐标转换为 PDF 坐标时转换坐标。

于 2014-06-09T07:41:21.973 回答