.NET PDF转图片

VB.NET PDF转图片

方法引用了第三方的dll

首先需要添加引用O2S.Components.PDFRender4NET.dll

Imports O2S.Components.PDFRender4NET
Public Enum DeFinition
        One = 1
        Two = 2
        Three = 3
        Four = 4
        Five = 5
        Six = 6
        Seven = 7
        Eight = 8
        Nine = 9
        Ten = 10
End Enum
Sub ConvertPDF2Image(ByVal pdfInputPath As String,ByVal imageOutputPath As String,ByVal imageName As String,ByVal startPageNum As Integer,ByVal endPageNum As Integer,ByVal imageFormat As ImageFormat,ByVal deFinition As DeFinition)
        '用O2S.Components.PDFRender4NET来完成PDF转图片
        Dim PDFFile As PDFFile = PDFFile.Open(pdfInputPath)
        If (Directory.Exists(imageOutputPath)) = False Then
            Directory.CreateDirectory(imageOutputPath)
        End If
        'validate pageNum
        If (startPageNum <= 0) Then
            startPageNum = 1
        End If
        If (endPageNum > PDFFile.PageCount) Then
            endPageNum = PDFFile.PageCount
        End If
        If (startPageNum > endPageNum) Then
            Dim tempPageNum As Integer = startPageNum
            startPageNum = endPageNum
            endPageNum = startPageNum
        End If
        ' start to convert each page
        For i = startPageNum To endPageNum
            Dim pageImage As Bitmap = PDFFile.GetPageImage(i - 1,56 * Int(deFinition))
            pageImage.Save(imageOutputPath + imageName + i.ToString() + "." + imageFormat.ToString(),imageFormat)
            pageImage.dispose()
        Next
        PDFFile.dispose()
End Sub


参数:

①pdfInputPath:PDF文件路径

②imageOutputPath:图片输出路径

③imageName:生成图片的名字

④startPageNum:从PDF文档的第几页开始转换

⑤endPageNum:从PDF文档的第几页开始停止转换

⑥imageFormat:设置所需图片格式

⑦deFinition:设置图片的清晰度,数字越大越清晰

也可以去掉这个参数,在函数中直接设置所需的dpi

Dim pageImage As Bitmap = PDFFile.GetPageImage(i - 1,200)

如果需要O2S.Components.PDFRender4NET.dll,可以联系我~

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...