Das Problem ist gelöst. Unter iTextSharp gibt der Code
Label7.Text = New PdfReader(fi.FullName).NumberOfPages & " Seiten"
die korrekte Seitenzahl aus, auch wenn das PDF nicht ganz der Norm entspricht.
PdfSharp musste ich nun wieder deinstallieren, da es neben iTextSharp im gleichen Projekt Problememacht. Zum Speichern des PDF musste ich auch hier den Code ändern. Unter PdfSharp ging es so:
Using doc As New PdfDocument
For Each s As String In files
Dim page As PdfPage = doc.AddPage()
page.Size = PageSize.A4
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
Dim image As XImage = XImage.FromFile(s)
If (CInt(image.PointWidth) > CInt(image.PointHeight)) Then
page.Orientation = PageOrientation.Landscape
End If
gfx.DrawImage(image, New XRect(0, 0, CInt(page.Width.Point), CInt(page.Height.Point)))
image.Dispose()
File.Delete(s)
Next
filename = tbFilename.Text & "-" & Format(Now, "HHmmss")
doc.Save(tbFolder.Text & "\" & filename & ".pdf")
End Using
mit iTextSharp entfällt das "Save" und man macht es so:
For Each f As String In files
filename = tbFilename.Text & "-" & Format(Now, "HHmmss")
Dim doc As New Document()
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(tbFolder.Text & "\" & filename & ".pdf", FileMode.Create))
Dim image As Image = Image.GetInstance(f)
doc.Open()
doc.Add(image)
doc.Close()
File.Delete(f)
Next