Preciso converter um PDF para JPG em uma aplicação VB.NET / .NET Core. Estou usando a biblioteca PdfiumViewer
e este código:
Function ConvertPDFToJPG(pdfPath As String, outputPath As String) As String
Try
If Not File.Exists(pdfPath) Then
Return "Error: El archivo PDF no existe."
End If
' Cargar el PDF
Dim pdf As PdfDocument = PdfDocument.Load(pdfPath)
Dim image as Bitmap
image = pdf.Render(0,10000,10000, false)
image.RotateFlip(RotateFlipType.Rotate270FlipNone)
Dim encoder As ImageCodecInfo = ImageCodecInfo.GetImageDecoders().First(Function(c) c.FormatID = ImageFormat.Jpeg.Guid)
Dim encoderParams As New EncoderParameters(1)
encoderParams.Param(0) = New EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L)
Dim outputFile as String = outputPath & "_page-" & (1).ToString("D4") & ".jpg"
image.Save(outputFile, encoder, encoderParams)
Return "OK"
Catch ex As Exception
Return "Error: " & ex.Message
End Try
End Function
Funciona, mas a imagem resultante tem apenas 200 KB mais ou menos, e quando insiro um Crystal Reports, ela fica desfocada. Alguma solução?