gpt4 book ai didi

image - itextsharp 5.4.4 - GetDrawingImage 以错误的方式解码此图像 - 为什么?

转载 作者:行者123 更新时间:2023-12-01 13:32:26 25 4
gpt4 key购买 nike

pdf在我的 Firefox 上显示得很好,但在 C# 中我使用 itextsharp 编写的程序5.4.4,我用了GetDrawingImage PdfImageObject的方法我得到了一个抓取的图像。

我通过以下方式使用 itextsharp:

PdfReader reader = new PdfReader(filename);
PdfReaderContentParser parser = new PdfReaderContentParser(reader);
ImageRenderListener listener = new ImageRenderListener();
parser.ProcessContent(pageNumber, listener);

哪里 ImageRenderListenerIRenderListener ,它实现了 RenderImage方法如下:
    public void RenderImage(ImageRenderInfo renderInfo)
{
PdfImageObject image = renderInfo.GetImage();

PdfObject obj = image.Get(PdfName.FILTER);

PdfName filter = null;

if (obj is PdfName)
{
filter = (PdfName)obj;
}
else if (obj is PdfArray)
{
foreach(var o in (PdfArray)obj)
{
if (o is PdfName)
{
filter = o as PdfName;
break;
}
}
}

if (filter != null)
{
System.Drawing.Image drawingImage = image.GetDrawingImage();
...
...
...
}

绘制图像存储在监听器中,然后绘制到屏幕等...

我试图理解这一点,我发现过滤器是 /CCITTFaxDecodestreamContentType不知何故是 png ,有人可以在这件事上启发我吗?

最佳答案

此问题的原因在以下视频中进行了解释:Ripping your PDF files apart .如果您不想观看完整的视频,请快进到第 24 分钟并观看第 27 分钟的所有内容。请注意第 27 分钟的结论:通常,PDF 中没有图像。 (这有点夸张,但如果你理解了 3 分钟的解释,你就会明白 Mark Stephens 的意思。)

如果您想了解CCITTFaxDecode 为何更改为PNG 的详细信息,请阅读my book 的第10 章。 .

关于image - itextsharp 5.4.4 - GetDrawingImage 以错误的方式解码此图像 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19212996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com