我正在尝试在控制台应用程序中使用 Magick.net 来渲染 PDF 中的图像,但似乎无法解决这个问题。
在调用“MagickImageCollection.Read(byte[], settings)”时,我总是得到一个
“无法创建临时文件'':没有这样的文件或目录@error/pdf.c/ReadPDFImage/476”
例外。
我试过了:
- 将 x86 和 64 位 Ghostscript dll 放在 bin 文件夹中。
- 使用 AnyCPU、x86、64 版本 Magick.net 与 GS 版本的组合
- 将 MagickNET.SetGhostscriptDirectory 设置为程序文件 GS bin 文件夹
- 将 MagickNET.SetTempDirectory 设置为 c:/temp 中的文件夹,并确认我的应用程序可以通过以编程方式在其中移动文件来访问。
- 将 MagickAnyCPU.CacheDirectory 设置为 c:/temp 中的文件夹
我不知道我可能做错了什么
using (MagickImageCollection images = new MagickImageCollection())
{
// Add all the pages of the pdf file to the collection
images.Read(file, settings);
switch (orientation)
{
case Orientation.Horizontal:
using (MagickImage image = (MagickImage)images.AppendHorizontally())
{
using (MemoryStream ms = new MemoryStream())
{
image.Write(ms);
return ms.ToArray();
}
}
case Orientation.Vertical:
using (MagickImage image = (MagickImage)images.AppendHorizontally())
{
using (MemoryStream ms = new MemoryStream())
{
image.Write(ms);
return ms.ToArray();
}
}
}
}