-1

我正在使用带有 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
4

1 回答 1

0

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

这是解决空格问题的有用链接: 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 如何循环遍历目录列表?

于 2021-04-27T12:14:34.387 回答