Imports System.IO
Imports GdPicture14
Public Class FixPageRotation
'''
''' Checks if there are any rotations in the document. If so, normalizes the page rotation to 0 without affecting its visual appearance.
''' Creates and uses a new document with the corrected properties.
''' Fixes the issue of annotations being rotated to match the page's rotation.
'''
'''
'''
Public Shared Function FixPageRotation(pFilePath As String) As String
Dim oFolder As String = Path.GetDirectoryName(pFilePath)
Dim oChanged As Boolean = False
Using gdpicturePDF As New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.LoadFromFile(pFilePath, True)
If status = GdPictureStatus.OK Then
Dim count As Integer = gdpicturePDF.GetPageCount()
For i As Integer = 1 To count
If gdpicturePDF.SelectPage(i) = GdPictureStatus.OK Then
Dim rotation As Integer = gdpicturePDF.GetPageRotation()
If rotation <> 0 Then
gdpicturePDF.NormalizePage()
oChanged = True
End If
End If
Next
End If
If oChanged Then
Dim newFilesPath As String = Path.Combine(oFolder, "RotationFixed_" & Path.GetFileName(pFilePath))
If gdpicturePDF.SaveToFile(newFilesPath) = GdPictureStatus.OK Then
Return newFilesPath
End If
End If
End Using
Return pFilePath
End Function
End Class