iTextSharp不能处理由传真机生成的PDF文件
本文关键字:PDF 文件 传真机 不能 处理 理由 iTextSharp | 更新日期: 2023-09-27 18:02:20
我有一个类从PDF文件中提取图像,使用iTextSharp。
我用扫描机生成的PDF进行了测试,效果很好。
然后,我测试了由传真机生成的PDF,我得到了一个IOException: . PDF没有找到文件或资源。
我不知道为什么用传真机的PDF不行。是否iTextSharp不支持PDF从传真机或什么?
感谢任何想法。由于
编辑
public List<Image> ExtractImagesFromFax(string sourcePdf)
{
var imgList = new List<Image>();
try
{
var pdfReader = new PdfReader(sourcePdf); //Error is here ...
for (var i = 0; i <= pdfReader.XrefSize - 1; i++)
{
//code here
}
pdfReader.Close();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
return imgList;
}
我试着阅读PDF的iTextSharp.text.pdf。PDF阅读器,但我得到IOException,所以我不能进一步(只发生与传真机生成的PDF)。
PDF文件:传真:https://www.box.com/s/xwwu5xziujay153y67rz
扫描:https://www.box.com/s/9tlqqwixw1w9b2znh1j2
IOException
显示您正在尝试打开一个名为".pdf"的文件。有人会期望文件被命名为"somefile.pdf",但是现在你只有一个点和扩展名pdf。您确定这是要读取的文件的名称吗?你确定你的代码是正确的吗?
注意,这个异常实际上不是由text类抛出的。PdfReader使用一个c#类来打开文件,正是这个c#类告诉你找不到文件。这可能意味着两件事:
- 你没有使用正确的路径
- 您编写的应用程序没有足够的权限访问该文件。
您可以通过编写一些代码来检查这一点,该代码将文件读入字节数组而不使用iText。