问题描述
我正在使用带有 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?