Itext 不支持颜色深度1

Itext 不支持颜色深度1,itext,Itext,我使用的是iTextSharp版本5.5.2.0,当尝试加载附加的pdf示例时,我在ImageRenderInfo.GetImage()方法中遇到一个异常,“PdfImageObject”未返回,并显示一条消息“颜色深度1不受支持”。 有什么建议吗? 谢谢 abedelatif我修复了它,修改了222行add处的iTextSharp源代码PdfImageObjectclassFindColorspace方法 if (PdfName.CALGRAY.Equals(tyca) || PdfName.

我使用的是iTextSharp版本5.5.2.0,当尝试加载附加的pdf示例时,我在ImageRenderInfo.GetImage()方法中遇到一个异常,“PdfImageObject”未返回,并显示一条消息“颜色深度1不受支持”。 有什么建议吗? 谢谢
abedelatif

我修复了它,修改了222行add处的iTextSharp源代码
PdfImageObject
class
FindColorspace
方法

if (PdfName.CALGRAY.Equals(tyca) || PdfName.DEVICEGRAY.Equals(tyca)) {
    stride = (width * bpc + 7) / 8;
    pngColorType = 0;
}

pdf规范定义了自己的位图图像格式,该格式非常灵活,特别是在支持的颜色空间方面
ImageRenderInfo.GetImage()
尝试以与正常图像格式兼容的方式导出它。由于pdf位图格式具有极大的灵活性,这并不总是可能的。Itext不会试图创造不诚实的出口。你的pdf似乎就是这样一个例子。因此,您得到了例外。感谢您的评论。您是否认为有一种解决方法可以使用iTEXT加载此类PDF?您可以在iTEXT中添加一个可以处理您的文件的附件。IIRC您的图像是黑白的,模拟为灰度,颜色深度为1。这应该是可能的,以扩大到一个完整的灰度甚至彩色图像。你的建议意味着,我有权访问的方式,图像将嵌入到源PDF。事实上,我没有这个权限,我看到的是PDF,我必须用iTEXT加载和打开。您认为对GetImage源代码进行扩展会有帮助吗?可能吗?您的建议意味着我可以访问将图像嵌入源PDF的方式。-不,没有。我说的是对图像的iText提取的补充,而不是iText图像绘制。