_ txtStatus.Text = "";
if (!File.Exists(txtOpenLocation.Text))
{
txtStatus.Text = "File Not Found";
return;
}
txtStatus.Text = "File Found";
const string DLL_32BITS = "gsdll32.dll";
const string DLL_64BITS = "gsdll64.dll";
//select DLL based on Arch
string NomeGhostscriptDLL;
if (Environment.Is64BitProcess)
{
NomeGhostscriptDLL = DLL_64BITS;
}
else
{
NomeGhostscriptDLL = DLL_32BITS;
}
GhostscriptVersionInfo gvi = new GhostscriptVersionInfo(NomeGhostscriptDLL);
var rasterizer = new GhostscriptRasterizer();
try
{
rasterizer.Open(txtOpenLocation.Text, gvi, true);
Console.WriteLine(rasterizer.PageCount); //This line always prints 0
} catch(Exception er)
{
txtStatus.AppendText("\r\nUnable to Load the File: "+ er.ToString());
return;
}
_
私はそれをグーグルで調べましたが、rasterizer.Open()関数に関する解決策と役立つドキュメントがありませんでした。
ロードするpdfファイルに関係なく、Console.WriteLine(rasterizer.PageCount);
は常に_0
_を出力します。
txtStatus
は、UIの複数行TextBoxです。 txtOpenLocation
はUIの別のTextBoxであり、ユーザーは編集できません。その値はOpenFileDialog
によって設定されます。
Visual Studio 2019 Community Editionを使用しています。
言及する価値があると思うもう1つの観察結果-私のマシン上のすべてのPDFファイルについて、Adobe Acrobat DCまたはFoxit ReaderのいずれかでPDFファイルを開こうとすると、最初にリーダーがクラッシュし、応答しなくなります'約10〜15秒後、PDFファイルを開きます。
OPとこの質問に対する主な回答と同様に、私も昨日この正確な問題に遭遇しました。
それを追加したいのですが、推奨バージョンのghostscript(9.26)が機能していませんでした。私は64ビットバージョンを使用する必要があると不満を述べました。
それを必要とする人のために、それはここにあります: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926/gs926aw64.exe
私はURLを推測する必要がありました。古いバージョンを見つけるのがいかに難しいかに驚いています。