1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
Public Sub ExtractPages()
Dim writer As iTextSharp.text.pdf.PdfWriter
Dim reader As iTextSharp.text.pdf.PdfReader
Dim document As New iTextSharp.text.Document()
Dim i As Integer
Dim rot As Integer
reader = New iTextSharp.text.pdf.PdfReader("d:\\GNFB 2012 Nvx 20130103.pdf")
Using memoryStream = New MemoryStream()
writer = iTextSharp.text.pdf.PdfWriter.GetInstance(document, memoryStream)
document.Open()
document.AddDocListener(writer)
For i = 1 To 4
document.SetPageSize(reader.GetPageSize(i))
document.NewPage()
Dim cb As iTextSharp.text.pdf.PdfContentByte = writer.DirectContent
Dim pageImport As iTextSharp.text.pdf.PdfImportedPage = writer.GetImportedPage(reader, i)
rot = reader.GetPageRotation(i)
' Traitement de la rotation du document
If rot = 90 Or rot = 270 Then
cb.AddTemplate(pageImport, 0, -1.0F, 1.0F, 0, 0, reader.GetPageSizeWithRotation(i).Height)
Else
cb.AddTemplate(pageImport, 1.0F, 0, 0, 1.0F, 0, 0)
End If
Next i
reader.Close()
document.Close()
File.WriteAllBytes("d:\\Copy.pdf", memoryStream.ToArray())
End Using
reader.Close()
document.Close()
End Sub |
Partager