【问题标题】:iTextSharp bug in PdfTextExtractor?PdfTextExtractor 中的 iTextSharp 错误?
【发布时间】:2011-06-08 12:59:54
【问题描述】:

我刚刚开始尝试使用 iTextSharp 来处理 PDF 文档。作为一个简单的练习,我尝试使用以下代码从简单的 PDF 中提取文本。

protected void btnUpload_Click(object sender, EventArgs e)
        {
            if (fuPDFUpload.HasFile)
            {
                PdfReader reader = new PdfReader(fuPDFUpload.FileBytes);
                for (int i = 0; i < reader.NumberOfPages; i++)
                {
                    lblPdfText.Text += PdfTextExtractor.GetTextFromPage(reader, i);    
                }

            }
        }

上面的代码抛出了一个空引用异常,reader 不是 null 并且 i 显然不是 null 是一个 int,如果 reader 是 null 我会期待一个 ArgumentNullException。阅读器有页面,因此它进入循环。我只能认为这是某种错误。它是开源的,所以我可以尝试修复它,但我真的没有时间。有谁知道这里可能发生了什么或者我可以如何解决它?

【问题讨论】:

    标签: c# pdf pdf-generation itextsharp


    【解决方案1】:

    好的,所以 PDF 没有第 0 页,下面的代码可以正常工作:

    protected void btnUpload_Click(object sender, EventArgs e)
            {
                if (fuPDFUpload.HasFile)
                {
                    PdfReader reader = new PdfReader(fuPDFUpload.FileBytes);
                    for (int i = 1; i <= reader.NumberOfPages; i++)
                    {
                        lblPdfText.Text += PdfTextExtractor.GetTextFromPage(reader, i);    
                    }
    
                }
            }
    

    这是一个非常无用的异常,你会认为有某种检查会抛出一个更有帮助的异常,也许我有时间会提交一个补丁。

    【讨论】:

    • 未来:总是发布你的堆栈跟踪。请漂亮。糖在上面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多