我已经上传了一个PDF文件,并将其转换为字节格式并将其保存在数据库中。在获取PDF字节数组时,我需要将其转换为图像格式,以便可以将图像插入新的PDF报告中
SqlCommand objCmd = new SqlCommand(sTSQL, con);
objCmd.CommandType = CommandType.Text;
object result = objCmd.ExecuteScalar();
byte[] byteArray;
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, result);
byteArray = ms.ToArray(); // Byte Array
ms.Close();
ms = new MemoryStream(byteArray, 0, byteArray.Length);
ms.Seek(0, SeekOrigin.Begin);
System.Drawing.Image returnImage = System.Drawing.Image.FromStream(ms);`enter code here`
错误声明:“参数无效”
答案 0 :(得分:1)
问题在于您要写入图像的流是实际PDF的字节表示,因此将无法正常工作。
您可以使用诸如ImageMagick之类的工具-该工具是该库的.NET包装器,使您可以将PDF转换为图像。这实际上可以弄清楚PDF呈现时的外观,并将其转换为图像。
ImageMagick是功能强大的图像处理库,它支持 超过100种主要文件格式(不包括子格式)。用 Magick.net,您无需安装即可使用ImageMagick 服务器或台式机上的ImageMagick。访问 https://github.com/dlemstra/Magick.NET/tree/master/Documentation 在安装之前帮助您确定最佳版本。