0

我正在使用下面的代码使用 itextsharp 保存 pdf。问题是每次保存时,它都会覆盖以前的文件。有没有办法每次都创建一个不同名称的新文件?

    Dim Doc1 As New Document
    Dim path As String = Server.MapPath("PDFs")
    PdfWriter.GetInstance(Doc1, New FileStream(path & "/Doc1.pdf", FileMode.Create))
    Doc1.Open()
    Dim test As String
    test = Session("PDF")
    Doc1.Add(New Paragraph(test))

    Doc1.Close()
4

2 回答 2

1

试试这个:将 a 附加Guid到文件名

Dim fileName As String = Guid.NewGuid() & "_Doc1.pdf"
PdfWriter.GetInstance(Doc1, New FileStream(path & "/" & fileName , FileMode.Create))
于 2013-07-16T19:17:36.980 回答
1

如果可读性无关紧要,则使用 a Guid,如下所示:

Dim myUniqueFileName = String.Format("{0}.txt", Guid.NewGuid())

如果可读性确实很重要,那么我建议附加日期/时间,如下所示:

Dim myUniqueFileName = String.Format("PDF_{0}.txt", DateTime.Now.[Date].Month.ToString() + DateTime.Now.[Date].Day.ToString() + DateTime.Now.[Date].Year.ToString() + "_" & DateTime.Now.TimeOfDay.ToString())
于 2013-07-16T19:18:17.703 回答