C#GhostScript-无法成功地从PDF转换为TXT文件
我已经成功地使用GhostScript和以下命令行参数从PDF文件中提取文本:C#GhostScript-无法成功地从PDF转换为TXT文件,c#,winforms,process,ghostscript,C#,Winforms,Process,Ghostscript,我已经成功地使用GhostScript和以下命令行参数从PDF文件中提取文本: gswin32c.exe ^ -q -dNODISPLAY -dSAFER -dDELAYBIND ^ -dWRITESYSTEMDICT ^ -dSIMPLE ^ -c save ^ -f ps2ascii.ps ^ "test.pdf" ^ -c quit ^ >"test.txt" 注意事项:我将以下三个文件从安装目录复制到我的C:\目录中 1)gsdll32.dll
gswin32c.exe ^
-q -dNODISPLAY -dSAFER -dDELAYBIND ^
-dWRITESYSTEMDICT ^
-dSIMPLE ^
-c save ^
-f ps2ascii.ps ^
"test.pdf" ^
-c quit ^
>"test.txt"
注意事项:我将以下三个文件从安装目录复制到我的C:\目录中
1)gsdll32.dll
2)gsdll32.lib
3)gswin32
有人看到我的代码有任何明显的错误吗?如果我能在这里得到任何帮助,我将不胜感激
谢谢
埃文
batch.bat
的批处理文件,如下所示
rem batch.bat
rem %1 represents input file name without extension.
echo off
gswin32c -q -dNODISPLAY -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE -c save -f ps2ascii.ps %1.pdf -c quit >%1.txt
myapp.exe的控制台应用程序
using System.Diagnostics;
class myapp
{
public static void Main()
{
Process p1 = new Process();
p1.StartInfo.FileName = "batch.bat";
p1.StartInfo.Arguments = "test";
p1.StartInfo.UseShellExecute = false;
p1.Start();
p1.WaitForExit();
}
}
myapp.exe
。完成了一个明显的错误是,您似乎在代码中运行test.exe,而不是gsWin32c.exe。首先,quote到底是什么?其次,启动错误的应用程序。第三,即使启动了正确的文件,您正在创建的文件也不会包含test.txt的内容。让我们跳过所有的问题,读一下:我将它重命名为Test.exe-这是正确的应用程序。此外,quote是“\u0022”的常量,它是一个”symbol@Evan-假设这是您定义的常量?是的,我确认该常量工作正常。我希望在执行后向您展示一下情况。GhostScript似乎正在运行,但我无法读取命令提示符,因为GhostScript会自动关闭它(所以我不知道实际的错误是什么)。我的所有文件(ghostscript文件和pdf文件)都在同一个目录中(不是在C驱动器中,而是在我的桌面上)。Visual Studio没有抛出任何错误。如果你有teamviwer或任何其他远程应用程序,我很想告诉你发生了什么!谈论一个当之无愧的答案!哇!
using System.Diagnostics;
class myapp
{
public static void Main()
{
Process p1 = new Process();
p1.StartInfo.FileName = "batch.bat";
p1.StartInfo.Arguments = "test";
p1.StartInfo.UseShellExecute = false;
p1.Start();
p1.WaitForExit();
}
}