如何将文本移动到 .PDF 中的 X、Y 位置

How to move text to X,Y position within a .PDF

我正在使用 iTextSharp 生成 pdf。我想将文本“LayerX”对齐到每个图像上。但是,我不确定该怎么做。我看到图像有一个 .SetAbsolutePosition 方法,不确定为什么文本没有。到目前为止,这是我的代码。

            using(Document document = new Document(PageSize.A4, 25, 25, 30, 30)) 
        {
            PdfWriter writer = PdfWriter.GetInstance(document, Response.OutputStream);
            document.Open();
            iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(Server.MapPath("~/Content/layer.jpg"));

            var textAttributes = FontFactory.GetFont("Calibri", 6, BaseColor.BLACK);
            

            int temp = 0;
            image.ScaleAbsolute(36, 12); //scale image
            for (int i = 1; i < 4; i++)
            {
                temp = 698 + (10 * i);
                Chunk coreText = new Chunk("     Layer" + i, textAttributes);

                //don't know what to put here, would like something like the following
                //coreText.SetAbsolutePosition(25, temp); ---> something like this

                document.Add(coreText);

                image.SetAbsolutePosition(25, temp);
                document.Add(image);
                document.Add(new Paragraph());
            }

            document.Close();
            writer.CloseStream = false;
            System.Diagnostics.Debug.WriteLine("test2");
            Response.ContentType = "Application/pdf";
            Response.AddHeader("content-disposition",
            "attachment;filename=Diagram - " + variable.Substring(0,8)                         + ".pdf");
        }

我想将文本 LayerX 对齐到图像上,例如 Layer1。但是,图像确实如此。有帮助吗?

非常感谢您的宝贵时间,

我能够使用此代码放置文本。

Document document = new Document(pageSize, 25, 25, 30, 30)
PdfWriter writer = PdfWriter.GetInstance(document, Response.OutputStream);
PdfContentByte cb = writer.DirectContent;
ColumnText ct = new ColumnText(cb);
ct.SetSimpleColumn(corePhrase, 65, 0, 35, temp + 14, 0, Element.ALIGN_LEFT);
ct.Go();

.SetSimpleColumn 的参数

  1. 短语
  2. 左下-x
  3. 左下y
  4. 右上-x(llx + 宽度)
  5. 右上-y(lly + 高度)
  6. leading(打印行之间的空白量space)
  7. 对齐。