【发布时间】:2015-12-06 12:47:52
【问题描述】:
我正在使用 PdfStamper getOverContent(),因此我可以使用 Identity 类型的 AffineTransform 将图像添加到输出 PDF 文件中。
PdfContentByte content = stamper.getOverContent(1);
data.image.setAbsolutePosition(desc.X,desc.Y);
content.addImage(data.image,desc.transform);
//content.addImage(data.image);
如果我使用没有转换的注释行,它可以完美地将图像添加到生成的 PDF 但使用 AffineTransform (setToIdentity()) 它不会显示。
有人可以帮我解决这个问题吗?我打算使用更复杂的转换,但身份应该首先工作......
编辑(从无效答案复制)
我删除了对 setAbsolutePosition 的调用,并使用 setToIdentity() 作为唯一的转换并且图像不显示...然后添加了 setToTranslation(X,Y),其中 X 和 Y 是成功案例中使用的相同值我没有将转换作为第二个参数,它仍然没有显示图像。是否有使用 AffineTransform 作为参数的 AffineTransform 作为参数调用 PdfContentByte addImage() 的示例?我买了你的书,但没有找到。
【问题讨论】:
-
您的
transform是什么样的?也许它将图像旋转到页面的可见区域之外。另外:AFAIK,您不能将setAbsolutePosition()(一种方便的方法,因此您不需要定义翻译)与添加定义您自己的转换的文档相结合。 -
我删除了对 setAbsolutePosition 的调用,并使用 setToIdentity() 作为唯一的转换,并且图像未显示...然后添加了 setToTranslation(X,Y),其中 X 和 Y 是相同的值在我不将转换作为第二个参数并且仍然不显示图像的成功案例中使用。是否有使用 AffineTransform 作为参数的 AffineTransform 作为参数调用 PdfContentByte addImage() 的示例?我买了你的书,但找不到。
标签: image-processing itext affinetransform pdfstamper