gpt4 book ai didi

java - 如何在Docx4J中转换时指定PDF文件名

转载 作者:行者123 更新时间:2023-12-01 12:25:55 25 4
gpt4 key购买 nike

我需要在浏览器中输出生成的 PDF。这是我到目前为止所拥有的

public void displayWordAsPDF(InputStream inputStream,HttpServletResponse response) throws Exception {

PhysicalFonts.setRegex(".*(calibri|camb|cour|arial|symb|times|Times|zapf).*");
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(inputStream);
// Set up font mapper (optional)
Mapper fontMapper = new IdentityPlusMapper();
wordMLPackage.setFontMapper(fontMapper);

PhysicalFont font = PhysicalFonts.get("Arial Unicode MS");
// make sure this is in your regex (if any)!!!
if (font != null) {
fontMapper.put("Times New Roman", font);
fontMapper.put("Arial", font);
}
fontMapper.put("Libian SC Regular", PhysicalFonts.get("SimSun"));

Docx4J.toPDF(wordMLPackage, response.getOutputStream());

}

上面的代码将docx文件转换为PDF文件(但文件名仍然相同例如something.docx,因此该文件将被下载到本地)。如果我将下载的文件扩展名重命名为 .pdf,那么我只能在 Adob​​e Reader 中打开它。

我的问题是如何在转换过程中指定文件名以及扩展名?

最佳答案

这不是一个 docx4j 问题,而是一个适当更新 HttpServletResponse 对象的问题。像这样的事情应该可以完成这项工作:

response.setContentType("application/pdf");
response.setHeader("content-disposition", "attachment; filename=\"something.pdf\"");

关于java - 如何在Docx4J中转换时指定PDF文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26335025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com