【发布时间】:2010-04-03 19:50:08
【问题描述】:
我正在使用 iTextSharp 从 PDF 中提取图像。但是,如果图像是 CCITT 传真解码的,则位图创建会失败并出现“参数无效”错误。
由于 PdfReader.GetStreamBytesRaw 返回 CCITT 编码字节,位图创建失败。
有人可以帮我解码 CCITT 编码的字节,然后用它创建一个位图吗?
谢谢, 钱德鲁
【问题讨论】:
标签: itextsharp
我正在使用 iTextSharp 从 PDF 中提取图像。但是,如果图像是 CCITT 传真解码的,则位图创建会失败并出现“参数无效”错误。
由于 PdfReader.GetStreamBytesRaw 返回 CCITT 编码字节,位图创建失败。
有人可以帮我解码 CCITT 编码的字节,然后用它创建一个位图吗?
谢谢, 钱德鲁
【问题讨论】:
标签: itextsharp
我找到了一种从 CCITT 编码的 PDF 文件中获取位图的解决方法。
Ghostscript 支持将 PDF 文件转换为 Tiff。这里有一个简单的 C# 包装器可用于将 PDF 文件转换为 jpg 文件。 http://www.mattephraim.com/blog/2009/01/06/a-simple-c-wrapper-for-ghostscript/ 可以轻松修改包装器以获取 CCITT 压缩的 Tiff 文件而不是 jpg 文件。 包装器支持将特定页面的 PDF 转换为 Tiff。
解决方法是,将PDF的特定页面转换为临时tiff文件,从tiff加载位图,删除tiff文件。
钱德鲁
【讨论】:
但在你的答案中获得分辨率,我将从 pdf 中的原始图像获得分辨率
【讨论】: