当前位置: 首页 > 知识库问答 >
问题:

通过Java Servlet重命名PDF流

宿丰
2023-03-14

使用XSLT,XSL-FO和阿帕奇FOP的正确组合,我能够将PDF发送到某个浏览器窗口。
实际上,我发送的文件内容如下:

           response.setContentType("application/pdf");
            response.setContentLength( out.size());
            response.getOutputStream().write( out.toByteArray());
            response.getOutputStream().flush();

不出所料,浏览器在名为“pdf”的选项卡中显示PDF内容,如果我将文件保存在本地,名称也默认为pdf.pdf
如何强制文件名?

我尝试了以下方法,但没有成功:

           response.setHeader("Content-Disposition","inline; filename=" + filename + ".pdf" ); 

为了清楚起见,我想在浏览器中显示内容(而不是直接下载

共有1个答案

毋树
2023-03-14

我在这里找到了解决方案

基本上,这是一个在web.xml中改变URL模式的问题< br >浏览器将使用我以前使用的任何页面名称

<servlet-mapping>
        <servlet-name>PDF</servlet-name>
        <url-pattern>/pdf</url-pattern>
    </servlet-mapping>

我用

<servlet-mapping>
        <servlet-name>PDF</servlet-name>
        <url-pattern>/pdf/*</url-pattern>
    </servlet-mapping>

使用 http://wherever/pdf/filename.pdf?param1=va1 调用 servlet 时... 会将文件名更改为“文件名.pdf”

 类似资料:
  • 我一直在使用PDF文件中的命名目标来打开文件中特定位置的PDF文件。负责生成PDF文档的团队使用工具从图书标记自动生成命名目的地,因此命名目的地的名称往往类似于*9\u Glossary*或*Additional\u Information*。我们被要求用多种语言制作相同的文档。我预计我们将收到多种外语的PDF文档,在相同的位置带有书签,但图书标记的名称当然将使用这些其他语言,自动生成的命名目的地

  • 我想通过使用锁签署一个pdf文件。我正在使用PDFBox 2.0.9 我想实现的流量是: null 我可以签名,更改字段值,然后再次签名,签名就可以了。问题是当我在第二个签名之后更改字段的值时,签名仍然有效。我希望在上次更改后,第二个签名一定是无效的。

  • 我在这里查看了rename函数,但是,它似乎没有考虑到将多个列关联到一个要重命名的关键字的可能性。 这在熊猫体内是可行的吗? 到目前为止,我的(未工作的)尝试如下: DF示例: 预期结果:

  • 是否可以将给定的pdf文件变为空白,并将新数据重新写入该文件?我知道从中间删除页面可以修剪文档。但我根本没有找到任何方法来清除文档。非常感谢。

  • 我有以下任务在我的 任务zipConfiguration(type:Zip){def myDir=project(':SomeProject').projectDir.toString()'/build/libs/'from myDir archiveName'Output.Zip'destinationDirectory=file($buildDir/libs”)} 项目的的将始终具有一个版本化

  • 这可能是复制品。但我找不到解决我问题的办法。 我有课 getter和setter由Eclipse生成。 我希望密钥作为本身。Jackson在序列化时是否使用setter方法?如何使密钥成为字段名称本身?