2013-03-04 54 views
0

我有一堂课使用iTextSharp从PDF文件中提取图片。iTextSharp无法使用传真机生成的PDF?

我用扫描仪生成的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; 
    } 

我试图iTextSharp.text.pdf.PdfReader阅读PDF,但我得到了IOException异常,所以我不能走的更远(只能用传真机生成的PDF发生) 。

PDF文件:

+0

请提供样本PDF和源代码来重现问题。 – mkl 2013-03-04 11:05:48

+0

我更新了我的问题。 – Ragnarsson 2013-03-04 13:13:26

+0

@QuiTran你应该提供一个[sscce](http://sscce.org/) – Default 2013-03-04 13:21:52

回答

2

IOException说,你试图打开一个文件名为” .PDF ”。可以预料该文件被命名为“somefile.pdf”,但现在只有和扩展名pdf。你确定这是你想要阅读的文件的名字吗?你确定你的代码是正确的吗?

请注意,异常并不是真正由iText类引发的。 PdfReader使用C#类试图打开文件,它是C#类,它告诉你文件找不到。这可能意味着两件事:

  1. 您没有使用正确的路径。
  2. 您编写的应用程序没有足够的权限来访问该文件。

您可以通过编写一些代码将文件读入字节数组而不使用iText来检查。如果失败了,你会发现你的问题。

+0

啊不,我刚刚给出了一个演示,说明在我的问题中这个错误是怎么样的。我的文件名是TEST_FAX_PDF.pdf, – Ragnarsson 2013-03-04 12:40:28

+1

我们可以看到PDF吗?没有看到它,我们无法调试。 – 2013-03-04 13:43:00

+0

请在更新的问题中找到pdf文件。谢谢! – Ragnarsson 2013-03-04 13:54:45

相关问题