【问题标题】:Generate a horizontal rule accross generated pdf在生成的 pdf 中生成水平规则
【发布时间】:2013-07-22 17:55:21
【问题描述】:

我正在使用下面的代码用文本填充 pdf。可以加一行吗?还是横穿 pdf 的横线,所以我将文本分成多个部分?

Session("PDF") = Session("Hospital") + Environment.NewLine + Session("HospitalAddress") + Environment.NewLine + Session("HospitalCity")

Dim myUniqueFileName = String.Format("{0}.pdf", random)
    Dim pdfWrite As PdfWriter = PdfWriter.GetInstance(Doc1, New FileStream(path & myUniqueFileName, FileMode.Create))

    Doc1.Open()
    Dim test As String
    test = Session("PDF")
    Dim imagepath As String = Server.MapPath(".") & "/images/Header.png"
    Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(imagepath)
    image.ScalePercent(70.0F)

    Doc1.Add(image)
    Doc1.Add(New Paragraph(test))

    Doc1.Close()

【问题讨论】:

    标签: asp.net vb.net pdf-generation itextsharp


    【解决方案1】:

    你必须像这样画水平线:

    Dim cb As PdfContentByte = pdfWrite.DirectContent
    
    ' Set thickness to 2.0, rather than 1.0 default
    cb.SetLineWidth(2F)
    
    ' 1.0 = black; 0.0 = white
    cb.SetGrayStroke(0.95F)
    
    ' Set x and y coordinates for points of line to draw between, numbers made up for this example
    cb.MoveTo(25, 50)
    cb.LineTo(400, 50)
    cb.Stroke()
    

    【讨论】:

    • 谢谢,现在该行位于页面底部。我应该更改哪个数字以将其上移?
    • 第二个值是y值。 Doc1.Top 会将您放在页面顶部,因此您需要减去任何间距才能移动它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    相关资源
    最近更新 更多