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

标签 pdf itextsharp acrobat foxit

我的应用程序正在使用 itext# 生成 PDF 文档。文件可以正常打开并在 Foxit Reader 中正确显示,但在 Adobe Acrobat 中会出现以下错误:

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

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

最佳答案

这是我的代码:

        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# 的关键是要非常小心地正确关闭对象。这可能反射(reflect)了它是一个移植库,而不是从头开始为 .NET 构建的库。

关于使用 itext# 生成的 PDF 文档在 Foxit 中打开,而不是在 Acrobat 中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4140623/

相关文章:

Adobe Acrobat Pro 使所有页面具有相同的尺寸

java - iText - 创建 PDF 时旋转页面内容

c# - 默认参数 PageSize A4 C# 使用 itextsharp

在 saas 项目中使用 itextsharp 的许可考虑

ios - 从 iPad 发送电子邮件时 PDF 签名会轮换

javascript - 用户在点击锁定/解锁可填写表单时设置密码

android - 如何从url下载pdf并在android应用程序本身中查看下载的pdf?

java - 依次执行打印和保存作业

php - 如何在页面底部添加页脚 wkhtmltopdf

pdf-generation - 将 html 转换为 PDF 时,iTextSharp 中未设置表格宽度