iTextSharp.text.Image chi_jjqx = iTextSharp.text.Image.getInstance(Path + "chi1.jpg");
chi_jjqx.scalePercent(66, 66);
Chunk ch_chi_jjqx = new Chunk(chi_jjqx, 0, -3);
Cell t5_c3 = new Cell(ch_chi_jjqx);
t5_c3.setHorizontalAlignment("right");
t5_c3.BorderColor = new Color(255, 255, 255);
t5.addCell(t5_c3);//t5是一个table
document.Add(t5); float x_jjqx_score;
x_jjqx_score = chi_jjqx.Image.AbsoluteX;//值为NaN
x_jjqx_score = ch_chi_jjqx.Image.AbsoluteX;//值为0
//这两种获取方法都没有我应该如何获取已经加载的图片的具体坐标值呢???
看看吧 往下拉一拉好像有点靠谱
http://ufo-crackerx.blog.163.com/blog/static/1130787782012326102840771/
现在就是不知道怎么获取第一个被加载到cell中的图片的确切位置!!唉
http://www.gnostice.com/pdfone_dot_net.asp
我必须用itextsharp去解决
继续寻求答案,一个图片已加载,怎么根据这个图片的位置加载设定第二个图片的相对位置??
http://www.aspose.com/categories/.net-components/aspose.pdf-for-.net/default.aspx
根据Cell的位置来确定图片的位置
还是上图比较直接,图中A为圆圈图,B为色块横条图
先加载B图,代码为iTextSharp.text.Image chi_jjqx = iTextSharp.text.Image.getInstance(Path + "chi1.jpg");
chi_jjqx.scalePercent(66, 66);
chi_jjqx.Alignment = Image.RIGHT;
document.Add(chi_jjqx);因为这个图紧跟在前面的内容后面,所以不能用setAbsolutePosition这个方法固定位置
而A图要通过数值计算参照B图来得出具体的位置,先在获取不到B的X,Y坐标值怎么办呢!!!???
MemoryStream outputStream = new MemoryStream();
PdfReader pdfReader = new PdfReader(inputPath);
int numberOfPages = pdfReader.NumberOfPages;
PdfStamper pdfStamper = new PdfStamper(pdfReader, outputStream);
PdfContentByte waterMarkContent;
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(waterImagePath);
image.SetAbsolutePosition(x, y);
for (int i = 1; i <= numberOfPages; i++)
{
waterMarkContent = pdfStamper.GetUnderContent(i);
waterMarkContent.AddImage(image);
}
pdfStamper.Close();
byte[] content = outputStream.ToArray();
outputStream.Close(); string TempPath = outputPath.Replace(".pdf", "_temp.pdf");
using (FileStream fs = File.Create(TempPath))
{
fs.Write(content, 0, content.Length);
}