我需要创建PDF文件,使用左,右和上边距在页面上绘制线条。但是在这里,由于这种混乱,这些边际的计算都是像素值。那么,如何在像素值中设置边距来绘制线?
示例代码如下:
PdfContentByte contentByte = writer.DirectContent;
contentByte.SetLineWidth(1);
float x1, y1, x2, y2;
x1 = myDocument.PageSize.Width - 84;
x2 = myDocument.PageSize.Width - 36;
y1 = myDocument.PageSize.Height - 56;
y2 = myDocument.PageSize.Height - 56;
contentByte.MoveTo(x1, y1);
contentByte.LineTo(x2, y2);
contentByte.Stroke();
实际上,我想绘制宽度为48的线,右边距为36px,上边距为36px。
有想法计算吗?
答案 0 :(得分:0)
尝试这种方式:
string pdfpath = Server.MapPath("PDFs");
Document doc = new Document();
try
{
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(pdfpath + "/Graphics.pdf", FileMode.Create));
doc.Open();
PdfContentByte cb = writer.DirectContent;
...
现在我们有了一个有效的PdfContentByte对象,我们可以用它来开始绘图:
cb.MoveTo(doc.PageSize.Width / 2, doc.PageSize.Height / 2);
cb.LineTo(doc.PageSize.Width / 2, doc.PageSize.Height);
cb.Stroke();
cb.MoveTo(0, doc.PageSize.Height/2);
cb.LineTo(doc.PageSize.Width, doc.PageSize.Height / 2);
cb.Stroke();
从here
开始