“文件不是以'%PDF-'开头。” 尝试加载PDF时出错-ASP.NET MVC

乔丹·桑德伯格

我具有MemoryStreams形式的多个PDF,并且需要合并MemoryStreams,以便它们是一个较长的PDF,并将其发送到浏览器。

我使用iText7创建了以下函数,该函数采用了假定为PDF的MemoryStreams列表,并且输出为串联的PDF的MemoryStream。

    public static MemoryStream PdfCat(List<MemoryStream> pdfs)
        {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            using(PdfDocument applicationPdf = new PdfDocument(new PdfWriter(baos)))
            {

                PdfMerger merger = new PdfMerger(applicationPdf);

                // add every document to the empty pdf
                foreach (MemoryStream pdfMemStream in pdfs)
                {
                    using (PdfDocument pdf = new PdfDocument(new PdfReader(pdfMemStream)))
                    {
                        merger.Merge(pdf, 1, pdf.GetNumberOfPages());
                    }
                }

                baos.Position = 0;
                merger.Close();
            }

            return new MemoryStream(baos.ToArray());
        }

我正在尝试使用以下命令将PDF发送到控制器中的浏览器:

    MemoryStream application = FileUtils.PdfCat(applicationPdfs);
    return new FileStreamResult(application, "application/pdf");

哪里applicationPdfsList<MemoryStream>

HTML中的按钮如下所示:

<a href="~/Report/Index/@Model.id" target="_blank">View all attachments</a>

问题是,当我单击“查看所有附件”按钮时,在浏览器中出现以下错误:
浏览器中的错误图片

我能够将PDF保存在本地并以这种方式查看,因此PDF可以正确合并。有谁知道该错误的含义以及如何解决该错误?

更新:看来这仅在我使用FireFox作为浏览器时才有效。由于某些原因,该错误仅在IE和Chrome中发生。

mkl

删除线

baos.Position = 0;

或至少将其移动到using(PdfDocument...) {...}方块后面

关闭合并或基础文档时,仍有一些数据写入输出流,并且通过在关闭前更改流的位置,可以使这些数据覆盖输出的开头(%PDF-...标头所在的位置),而不是附加到输出端。结束。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从asp.net mvc 项目打印pdf

来自分类Dev

文件不以'%pdf%-'开头

来自分类Dev

ASP.NET MVC-将生成的HTML作为PDF保存到文件夹

来自分类Dev

来自数据库的pdf文件以在asp.net MVC中查看

来自分类Dev

LibreOffice在ASP.NET MVC中将XLSX转换为PDF

来自分类Dev

ASP.NET MVC强制下载PDF,但未显示

来自分类Dev

在ASP.NET MVC中将HTML转换为PDF

来自分类Dev

ASP.NET MVC - Conditionally open PDF/Image on new Tab

来自分类Dev

使用Rotativa pdf清洁ASP.NET MVC的分页符

来自分类Dev

在ASP.NET MVC中将HTML转换为PDF

来自分类Dev

ASP.NET MVC强制下载PDF,但未显示

来自分类Dev

显示PDF文件.net ASP C#

来自分类Dev

显示PDF文件.NET ASP C#

来自分类Dev

仅当行不是以某个特定字符开头时,powershell才替换文件中的行

来自分类Dev

ASP.NET MVC尝试加载旧版本的Owin程序集

来自分类Dev

ASP.NET MVC / JQuery / Javascript:搜索(并尝试加载)新数据后,视图不会刷新

来自分类Dev

ASP.NET MVC尝试加载旧版本的Owin程序集

来自分类Dev

通过ajax调用ASP MVC下载PDF文件

来自分类Dev

MVC Net Core 3.1:创建和下载PDF文件的工具

来自分类Dev

在特定页面或位置ASP.NET合并PDF文件

来自分类Dev

如何使用asp.net下载pdf文件?

来自分类Dev

什么是以“ ._”开头的文件?

来自分类Dev

如何在ASP.NET MVC中应用脚本和样式后从HTML视图生成PDF

来自分类Dev

如何在ASP.NET MVC上将搜索结果打印为pdf?

来自分类Dev

从ASP.NET Core MVC中的控制器返回Pdf文档

来自分类Dev

如何使用Telerik和ASP.NET MVC将HTML导出为PDF

来自分类Dev

如何使用Rotativa PDF在Asp.Net MVC AREA上查看?

来自分类Dev

C# ASP.NET MVC:如何让浏览器从我的响应中自动下载 pdf?

来自分类Dev

通过在线文本编辑器创建PDF文件,并将其直接保存到Web服务器文件系统ASP.NET MVC

Related 相关文章

  1. 1

    从asp.net mvc 项目打印pdf

  2. 2

    文件不以'%pdf%-'开头

  3. 3

    ASP.NET MVC-将生成的HTML作为PDF保存到文件夹

  4. 4

    来自数据库的pdf文件以在asp.net MVC中查看

  5. 5

    LibreOffice在ASP.NET MVC中将XLSX转换为PDF

  6. 6

    ASP.NET MVC强制下载PDF,但未显示

  7. 7

    在ASP.NET MVC中将HTML转换为PDF

  8. 8

    ASP.NET MVC - Conditionally open PDF/Image on new Tab

  9. 9

    使用Rotativa pdf清洁ASP.NET MVC的分页符

  10. 10

    在ASP.NET MVC中将HTML转换为PDF

  11. 11

    ASP.NET MVC强制下载PDF,但未显示

  12. 12

    显示PDF文件.net ASP C#

  13. 13

    显示PDF文件.NET ASP C#

  14. 14

    仅当行不是以某个特定字符开头时,powershell才替换文件中的行

  15. 15

    ASP.NET MVC尝试加载旧版本的Owin程序集

  16. 16

    ASP.NET MVC / JQuery / Javascript:搜索(并尝试加载)新数据后,视图不会刷新

  17. 17

    ASP.NET MVC尝试加载旧版本的Owin程序集

  18. 18

    通过ajax调用ASP MVC下载PDF文件

  19. 19

    MVC Net Core 3.1:创建和下载PDF文件的工具

  20. 20

    在特定页面或位置ASP.NET合并PDF文件

  21. 21

    如何使用asp.net下载pdf文件?

  22. 22

    什么是以“ ._”开头的文件?

  23. 23

    如何在ASP.NET MVC中应用脚本和样式后从HTML视图生成PDF

  24. 24

    如何在ASP.NET MVC上将搜索结果打印为pdf?

  25. 25

    从ASP.NET Core MVC中的控制器返回Pdf文档

  26. 26

    如何使用Telerik和ASP.NET MVC将HTML导出为PDF

  27. 27

    如何使用Rotativa PDF在Asp.Net MVC AREA上查看?

  28. 28

    C# ASP.NET MVC:如何让浏览器从我的响应中自动下载 pdf?

  29. 29

    通过在线文本编辑器创建PDF文件,并将其直接保存到Web服务器文件系统ASP.NET MVC

热门标签

归档