Я успешно извлек текст из файла PDF с помощью GhostScript вместе со следующими аргументами командной строки:
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
При ручном запуске GhostScript через командную строку я делаю следующее:
Выполните> CMD> cd C: \ (затем перейдите к вводу вышеупомянутых аргументов).
(вышеуказанная команда работает, и на моем диске C: \ появляется новый файл с именем «test.txt» с соответствующими данными в формате pdf).
Однако при попытке выполнить GhostScript
через командную строку я не добился успеха.
В моем приложении C # Winform я использую следующий код для выполнения GhostScript:
Process p1 = new Process();
p1.StartInfo.FileName = @"C:\test.exe";
p1.StartInfo.UseShellExecute = false;
p1.StartInfo.WorkingDirectory = @"C:\";
p1.StartInfo.Arguments = " -q -dNODISPLAY -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE -c save -f ps2ascii.ps " + quote + @"C:\h.pdf" + quote + " -c quit >" + quote + @"C:\test.txt" + quote;
File.WriteAllText(@"C:\hhh.txt", p1.StartInfo.Arguments);
p1.Start();
Кто-нибудь видит какие-либо очевидные ошибки с моим кодом? Я был бы признателен за любую помощь, которую я могу получить здесь.
Спасибо
Evan