69 lines
2.6 KiB
VB.net
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
|