首页 文章

使用itext#生成的PDF文档在Foxit中打开,但不在Acrobat中打开

提问于
浏览
3

我的应用程序是使用itext#生成PDF文档 . 文件打开正常并在Foxit Reader中正确显示,但在Adobe Acrobat中它出错:

There was an error processing page. There was a problem reading this document (109).

为什么文件在一个文件中打开而另一个文件不打开?

2 回答

  • 2

    这是我的代码:

    var document = new Document(_pageSize, PageMargin, PageMargin, PageMargin, PageMargin);
            var writer = PdfWriter.GetInstance(document, output);
            writer.CloseStream = false;
            writer.PageEvent = new Footer(HeaderFont, _defaultFont.BaseFont, report.Name);
            document.Open();
    
            if (report.Results.Any())
                document.Add(CreateTable(report.Results, report.Types, report.RootType));
            else
                document.Add(new Paragraph("No results", _defaultFont));
    
            writer.Close();
    

    writer.Close(); 行之前添加 document.Close(); 行后,它现在显示在Foxit和Acrobat中 .

    我想使用itext#的关键是要非常小心对象是否正确关闭 . 这可能反映出它是一个移植的库,而不是从头开始为.NET构建的库 .

  • 6

    一些pdf阅读器在各个领域比其他阅读器更宽容 . Foxit可能会忽略它不支持的pdf中的位 . 不同版本的杂技演员窒息不同的东西,只是为了浑水 . 如果没有看到有问题的PDF,我们所拥有的只是猜测 .

相关问题