は、私は、次のコマンドライン引数と一緒にGhostscriptを使用してPDFファイルからテキストを抽出して成功している:C#のGhostScript - 成功したTXTファイルにPDFから変換することができない
gswin32c.exe^
-q -dNODISPLAY -dSAFER -dDELAYBIND^
-dWRITESYSTEMDICT^
-dSIMPLE^
-c save^
-f ps2ascii.ps^
"test.pdf"^
-c quit^
>"test.txt"
ポイントは注意する:私はコピー次の3つのファイルをインストールディレクトリから自分のC:\ディレクトリにコピーします。
1)gsdll32.dll 2)gsdll32.lib 3)gswin32
手動でコマンドラインからGhostscriptを実行しているとき、私は次の操作を行います。 ファイル名を指定して実行> CMD> CDのC:\は(その後、上記の引数の入力に進んを)。
(上記のコマンドが機能し、 "test.txt"という名前の新しいファイルがC:\ドライブの適切なpdfデータとともに表示されます)。
ただし、コマンドラインでGhostScript
を実行しようとすると、正常ではありません。私のC#Winフォームアプリケーションで
、私は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();
誰もが私のコードで任意の明白なエラーを表示していますか?私はここで得ることができるすべての助けに感謝します。
おかげで、
エヴァン
1つの明らかなエラーは、引用符でまさにあなたのコードではなくgsWin32c.exe – antlersoft
まずでTEST.EXEを実行しているように見えるということですか?もう一度間違ったアプリケーションを起動してください。正しいファイルを起動していても、作成しているファイルの3番目にtest.txtの内容は含まれません。すべての質問を飛ばして、これを読んでください:http://www.mattephraim.com/blog/tag/ghostscriptsharp/ –
私はTest.exeに名前を変更しました - これは正しいアプリケーションです。また、引用符は '\ u0022'の「記号」の定数です。 –