如何将文本移动到 .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 的参数
- 短语
- 左下-x
- 左下y
- 右上-x(llx + 宽度)
- 右上-y(lly + 高度)
- leading(打印行之间的空白量space)
- 对齐。
我正在使用 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 的参数
- 短语
- 左下-x
- 左下y
- 右上-x(llx + 宽度)
- 右上-y(lly + 高度)
- leading(打印行之间的空白量space)
- 对齐。