Jonathan Jenne 9deeb35ad7 clean up
2024-01-03 15:19:29 +01:00

69 lines
2.6 KiB
VB.net

Imports System.IO
Imports DigitalData.Modules.Interfaces.Exceptions
Imports DigitalData.Modules.Logging
Imports GdPicture14
Public Class PDFConverter
Private ReadOnly _LogConfig As LogConfig
Private ReadOnly _Logger As Logger
Public Sub New(pLogConfig As LogConfig)
_LogConfig = pLogConfig
_Logger = pLogConfig.GetLogger()
End Sub
Public Function ConvertPDFADocumentToPDFDocument(pFilePath As String, pNewFilePath As String) As Boolean
Try
Using oGdPicturePDF As New GdPicturePDF()
Using oGdPicturePDFDestination As New GdPicturePDF()
' Load the source file into memory
If oGdPicturePDF.LoadFromFile(pFilePath, True) <> GdPictureStatus.OK Then
Throw New ApplicationException("File could not be loaded!")
End If
' Create a new pdf file
If oGdPicturePDFDestination.NewPDF() <> GdPictureStatus.OK Then
Throw New ApplicationException("New Pdf could not be created!")
End If
' Copy all pages from the source into the new pdf
If oGdPicturePDFDestination.ClonePages(oGdPicturePDF, "*") <> GdPictureStatus.OK Then
Throw New ApplicationException("Document could not be copied into new pdf!")
End If
' Close the source document
If oGdPicturePDF.CloseDocument() <> GdPictureStatus.OK Then
Throw New ApplicationException("Source document could not be closed!")
End If
' Set the file path
Dim oFinalFilePath = pFilePath
If Not String.IsNullOrWhiteSpace(pNewFilePath) Then
oFinalFilePath = pNewFilePath
End If
' Save the file to disk
If oGdPicturePDFDestination.SaveToFile(oFinalFilePath) <> GdPictureStatus.OK Then
Throw New ApplicationException("New document could not be saved to disk!")
End If
If oGdPicturePDFDestination.CloseDocument() <> GdPictureStatus.OK Then
Throw New ApplicationException("Destination document could not be closed!")
End If
End Using
End Using
Return True
Catch ex As Exception
_Logger.Error(ex)
Return False
End Try
End Function
End Class