使用C#中的itextsharp创建PDF文件

本文关键字:PDF 文件 创建 itextsharp 中的 使用 | 更新日期: 2023-09-27 18:00:29

我需要创建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。

你知道该怎么算吗?

使用C#中的itextsharp创建PDF文件

试试这个方法:

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();

从这里获取