System.IO.EndOfStreamException: попытка чтения после конца потока в iTextSharp - PullRequest
0 голосов
/ 12 марта 2019

Я получаю это исключение, когда я выполняю следующий код, я получаю исключение только тогда, когда я запускаю его в сети, локально код выполняется отлично.файл PDF создан, но я не могу его скачать или открыть, потому что он используется другим процессом.у тебя есть решение? исключение, которое возникает при попытке создать файл PDF с использованием itextsharp

Public Sub MakePDFFileCertificate(Name As String)
    Dim doc As New Document()
    doc = New Document(iTextSharp.text.PageSize.A4.Rotate(), 10, 10, 10, 10)

    Dim fn As String = "\\Certificate\\" & Session("uid").ToString & ".pdf"


    PdfWriter.GetInstance(doc, New FileStream(Server.MapPath(fn), FileMode.Create))
    doc.Open()
    ' **Header Image**
    Dim imageFilePath As String = Server.MapPath("\\cp\\Registration\\Certificates\\certifyconf.jpg")
    If hf.Value = "0" Then
        imageFilePath = Server.MapPath("\\cp\\Registration\\Certificates\\certifyhealth.jpg")
    End If
    Dim jpg As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(imageFilePath)
    jpg.ScaleToFit(842, 705)
    jpg.Alignment = iTextSharp.text.Image.UNDERLYING
    jpg.SetAbsolutePosition(0, 0)
    doc.Add(jpg)
    '**Font Size**
    Dim bf As BaseFont = BaseFont.CreateFont(Server.MapPath("\\WorkshopCertificates\\FrutigerLTArabic.ttf"), BaseFont.IDENTITY_H, True)
    Dim f0 As New iTextSharp.text.Font(bf, 18, iTextSharp.text.Font.TIMES_ROMAN)
    Dim f1 As New iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.TIMES_ROMAN)
    Dim f2 As New iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.TIMES_ROMAN)
    Dim f3 As New iTextSharp.text.Font(bf, 8, iTextSharp.text.Font.TIMES_ROMAN)
    '***Main Title***
    Dim ph As New Phrase(vbLf)
    doc.Add(ph)
    doc.Add(ph)
    doc.Add(ph)
    doc.Add(ph)
    doc.Add(ph)
    doc.Add(ph)
    doc.Add(ph)
    doc.Add(ph)

    doc.Add(ph)


    doc.Add(ph)
    Dim title As New iTextSharp.text.pdf.PdfPTable(1)
    title.DefaultCell.Border = Rectangle.NO_BORDER
    Dim h1 As New iTextSharp.text.pdf.PdfPCell(New Phrase(14, Page.Server.HtmlDecode(Name), f0))

    doc.Add(ph)
    h1.RunDirection = PdfWriter.RUN_DIRECTION_RTL
    If Name.Contains("a") Or Name.Contains("A") Then
        h1.RunDirection = PdfWriter.RUN_DIRECTION_LTR
    End If

    h1.Border = Rectangle.NO_BORDER
    h1.HorizontalAlignment = 1
    'center

    title.AddCell(h1)


    doc.Add(title)

    'New Line
    doc.Close()



End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...