首页 > 解决方案 > VB.NET 不是将页面插入 PDF 而是替换

问题描述

我正在尝试在 Page to PDF 中插入一个页面。这是我生成PDF的代码

 Dim MyPdfFilePath As String = "C:\BLH Data\MyPdf.pdf"
        Dim PdfDoc As New Document()
        PdfDoc = New Document(New Rectangle(579.5F, 936.0F).Rotate)
        PdfDoc.SetMargins(0.0F, 0.0F, 0.0F, 100.0F)
        Dim PdfImg As iTextSharp.text.Jpeg
        Using bm As New Bitmap(ContainerOfFeedBack.Width, ContainerOfFeedBack.Height)
            ContainerOfFeedBack.DrawToBitmap(bm, New System.Drawing.Rectangle(0, 0, bm.Width, bm.Height))
            Using ms As New MemoryStream
                bm.Save(ms, Imaging.ImageFormat.Jpeg)
                PdfImg = New iTextSharp.text.Jpeg(ms.GetBuffer)
            End Using
        End Using

        Using fs As New FileStream(MyPdfFilePath, FileMode.Create, FileAccess.Write, FileShare.None)
            Using pdfWrite As PdfWriter = PdfWriter.GetInstance(PdfDoc, fs)
                PdfDoc.Open()
                PdfDoc.Add(PdfImg)
                PdfDoc.Close()
            End Using
        End Using
        PdfDoc.Dispose()

这是我在插入新页面中的代码

 Dim MyPdfFilePath As String = "C:\BLH Data\MyPdf.pdf"
        Dim document As Document = New Document()
        PdfWriter.GetInstance(document, New FileStream("C:\BLH Data\MyPdf.pdf", FileMode.Append, FileAccess.Write, FileShare.None))
        document.Open()
        Dim p1 = New Paragraph("This is First Page")
        document.Add(p1)
        document.NewPage()
        Dim p2 = New Paragraph("This is Second Page")
        document.Add(p2)
        document.Close()

当我单击生成 PDF(第一个代码)时,它将创建一个 PDF 文件。现在的问题是,当我单击插入新 PDF(第二个代码)时,将生成插入“新 PDF 代码”,现在将替换第一个 PDF。我的问题是,当我单击第一个代码时,现在正在生成 pdf1,当我单击第二个代码时,pdf1 正在被 pdf2 替换。有人可以指出我如何解决这个问题的正确方向吗?

标签: vb.net

解决方案


推荐阅读