微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Ghostscript.net 将 PDF 裁剪为 png

如何解决使用 Ghostscript.net 将 PDF 裁剪为 png

我正在使用带有 VB 语言 Web 应用程序的 Visual Studio 2015,我的问题简而言之我使用 Ghostscript 将 pdf 第一页提取到 png 其工作正常,但如果 pdf 文件名包含空格,则它不会提取 png 并且不会出现错误或者如果用其他语言编写,则会出现错误页码不在页码范围内!”。 感谢您的帮助。

test.pdf ---> 工作正常

new york.pdf --->没有发生任何错误 出现

pdf 文件名不是用英文写的 ---> 错误页码是 不在页码范围内!”

代码

Imports Ghostscript.NET
Imports Ghostscript.NET.Rasterizer
Imports System.IO
Imports System.Drawing.Imaging
Imports System.Drawing
Partial Class Default6
    Inherits System.Web.UI.Page
    Protected Sub Button1_Click(sender As Object,e As EventArgs) Handles Button1.Click
        Dim inputPdfPath As String = "d:\test\test.pdf"
        Dim outputPath As String = "d:\test\"
        Using Rasterizer = New GhostscriptRasterizer
            Rasterizer.CustomSwitches.Add("-dUseTrimBox")
            Rasterizer.CustomSwitches.Add("-g683x960")
            Rasterizer.CustomSwitches.Add("-f")
            Rasterizer.Open(inputPdfPath)
            Dim pageFilePath As String = Path.Combine(outputPath,"Page1" + ".jpg")
            Dim img As Image = Rasterizer.GetPage(100,1)
            img.Save(pageFilePath,ImageFormat.Png)
            Console.WriteLine(pageFilePath)
        End Using
    End Sub
End Class

解决方法

第一次发布在评论部分,我将信息作为答案,因为它对用户有用。

这是一个有助于解决空格问题的链接: https://www.vbforums.com/showthread.php?703121-RESOLVED-How-to-Shell-from-a-directory-with-spaces-in-path

对于非英文字符,请尝试以下方法: Illegal characters in path (Chinese characters)

如果最后一个解决方案不起作用,另一种选择是遍历目录中的文件,并通过另一个元数据文件信息识别您正在寻找的文件。在这种情况下,请检查此链接: vb.net how to loop through a directory listing?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。