Я создаю PDF для MemoryStream с помощью Spire. net. Я могу скачать PDF после его создания, и все в порядке. Однако, когда я передаю тот же MemoryStream в функцию GhostScript, чтобы преобразовать его в .png (используя оболочку GhostScript. Net), он не работает.
MemoryStream передается в растеризатор.Open () , но PageCount всегда равен 0, поэтому он не конвертирует и не сохраняет изображения:
MemoryStream pdfStream = new MemoryStream();
pdfStream = new MemoryStream(GetTemplate.CreatePDF(userID).ToArray()); //This is the PDF MemoryStream
GhostscriptVersionInfo version = new Ghostscript.NET.GhostscriptVersionInfo(new Version(0, 0, 0), "/bin/gsdll32.dll", string.Empty, Ghostscript.NET.GhostscriptLicense.GPL);
GhostscriptRasterizer rasterizer = null;
using (rasterizer = new GhostscriptRasterizer())
{
rasterizer.Open(pdfStream , version, false);
for (int i = 1; i <= rasterizer.PageCount; i++) //PageCount is always 0
{
using (MemoryStream ms = new MemoryStream())
{
Image img = rasterizer.GetPage(72, 72, i);
img.Save(ms, ImageFormat.Png);
ms.Close();
//return "data:image/png;base64," + Convert.ToBase64String((byte[])ms.ToArray());
}
}
rasterizer.Close();
}