我有一个用飞碟生成的工作PDF。然而,当我现在想添加自定义字体时,生成的PDF会损坏。浏览器没有下载文件,而是显示各种奇怪的符号。
通过在类路径上添加ttf字体文件并调用addFont
来添加自定义字体:
renderer.getFontResolver().addFont("/fonts/Montserrat-Regular.ttf", BaseFont.IDENTITY_H, true);
renderer.getFontResolver().addFont("/fonts/Montserrat-Italic.ttf", BaseFont.IDENTITY_H, true);
renderer.getFontResolver().addFont("/fonts/Montserrat-Bold.ttf", BaseFont.IDENTITY_H, true);
renderer.getFontResolver().addFont("/fonts/Montserrat-BoldItalic.ttf", BaseFont.IDENTITY_H, true);
并在CSS中指定字体:
html {
font-family: 'Montserrat', sans-serif;
font-size: 14px;
}
问题是由于在响应的输出流中生成PDF后设置了响应标头。
我的控制器是这样的:
@GetMapping("/{id}/download-pdf")
@Secured(Roles.ADMIN)
public void downloadPDFResource(@PathVariable("id") EntityId entityId,
HttpServletRequest request, HttpServletResponse response,
Locale locale) throws IOException {
byte[] pdf = pdfService.generatePdf("details-pdf", context);
response.getOutputStream().write(pdf);
response.setContentType("application/pdf");
response.addHeader("Content-Disposition",
"attachment; filename=" + "document.pdf");
response.getOutputStream().flush();
}
修复是将内容类型和标题的设置移动到方法的顶部:
@GetMapping("/{id}/download-pdf")
@Secured(Roles.ADMIN)
public void downloadPDFResource(@PathVariable("id") EntityId entityId,
HttpServletRequest request, HttpServletResponse response,
Locale locale) throws IOException {
response.setContentType("application/pdf");
response.addHeader("Content-Disposition",
"attachment; filename=" + "document.pdf");
byte[] pdf = pdfService.generatePdf("details-pdf", context);
response.getOutputStream().write(pdf);
response.getOutputStream().flush();
}
我正在使用飞碟的HTML到PDF转换。我需要生产一个输出PDF与600dpi的字母大小。我怎样才能做到这一点呢?
我使用的罐子来自maven repo 我正在测试的代码来自以前的堆栈解决方案 我担心它可能过时了,因为图书馆被贬值了。测试以下代码时: 这一行我有以下错误:
我正在使用飞碟生成pdf文件。我想要第一页,第二页是横向模式,其余的是纵向模式。所以,我这样做: 但是它会自动在第一个pdf文件中创建2个空白页?如何修复它?
问题内容: 我正在尝试在JFrame中使用特殊字体,但遇到了问题。我有一个这样定义的JLabel: 并且我有一个名为CUSTOMFONT-MEDIUM.TTF(TrueType字体)的文件,但是编写了以下内容: 代码会编译,并且一切正常,除了不会显示“ lab”,因此没有文本。我想这是因为我从未指定字体大小,但是我所做的任何尝试都失败了。有人可以帮我吗? 问题答案: 您创建的字体必须先在中注册,以
我有一个jsp文件,我喜欢使用飞碟将其转换为PDF。以下是jsp文件: 以下是我用于将html解析为pdf的servlet代码: } } 我有个例外 有人能帮我吗?有没有可能从这种html页面创建pdf
我正在创建一个包含希腊字符的XHTML。在下面找到一个简单的例子。 当我打印结果时,我得到了。 有什么能帮忙的吗?