有谁知道如何使用 iText html2Pdf 库提取图像,这是页面的单色扫描?根据此页面: https://kb.itextpdf.com/home/it7kb/faq/which-image-types-are-supported-by-itext 这个库支持这样的模式/JBIG2。但是当我尝试提取这样的页面时,它显示了一个错误: iText.Kernel.Exceptions.PdfException:“不支持过滤器/JBIG2Decode。”
我正在使用 C# 来做这件事。
这是我的代码示例:
PdfReader reader = new PdfReader(pdfFilePath);
try
{
using (var pdfDoc = new PdfDocument(reader))
{
for (int i = 1; i <= pdfDoc.GetNumberOfPages(); i++)
{
PdfDictionary pageDict = pdfDoc.GetPage(i).GetPdfObject();
PdfDictionary pageResources = pageDict.GetAsDictionary(PdfName.Resources);
PdfDictionary pageXObjects = pageResources.GetAsDictionary(PdfName.XObject);
PdfName imgName = pageXObjects.KeySet().First();
PdfStream imgStream = pageXObjects.GetAsStream(imgName);
imgStream.SetData(reader.ReadStreamBytesRaw(imgStream));
PdfArray array = new PdfArray();
array.Add(PdfName.JBIG2Decode);
imgStream.Put(PdfName.Filter, array);
result = imgStream.GetBytes();
}
}
}
catch (Exception ex)
{
}
finally
{
reader.Close();
}