我正在使用lowagie/iTextPDF生成Java的PDF,并且在Firefox和Chrome中显示输出有问题,但是IE8显示得很好。
Firefox和Chrome显示混乱,如下所示:
%PDF-1.4%���� 20 obj
下面是servlet代码的一部分:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Document reportPDFDocument = (Document)generateReport(request,conn,baos);
PdfWriter.getInstance(reportPDFDocument, baos);
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
response.setContentType("application/pdf");
response.setHeader("Content-disposition","inline; filename=PrintedSchedule.pdf");
ServletOutputStream out = response.getOutputStream();
baos.writeTo(out);
out.flush();
我已经尝试过更新Firefox,更新PDF插件,并确保它设置为使用Adobe的PDF查看器而不是Firefox的查看器。
作为测试,我更改了这一行:
发件人:
response.setHeader("Content-disposition","inline; filename=PrintedSchedule.pdf");
致:
response.setHeader("Content-disposition","attachment; filename=PrintedSchedule.pdf");
Internet Explorer似乎意识到这是一个正在下载的PDF文件。我在IE中看到一个弹出窗口,上面写着:
是否要打开或保存此文件:
名称: PrintedSchedule.pdf类型: ADOBE Acrobat文档
但FireFox认为这是一个“htm”文档,并给出了这样的信息:
您选择打开:
打印的时间表。pdf是一个:HTML文档
在火狐中,我选择Adobe Reader打开它,它工作正常。但是在标题栏中,我注意到它在文件名的末尾附加了“. htm”。
这可能是问题的线索吗?如果是这样的话,我该如何强制Firefox将其识别为PDF格式?用户希望PDF显示在浏览器中,而不是在弹出窗口中,并且他们不希望必须单独下载PDF文件。
我有答案,我成功地打开了。在新选项卡中的PDF文件,从developerNT透视图单击任一按钮或链接目标应为balnk,例如(目标=\u空白)
尝试添加
response.setHeader("Expires", "0");
response.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
// setting the content type
response.setContentType("application/pdf");
// the contentlength
response.setContentLength(baos.size());
// write ByteArrayOutputStream to the ServletOutputStream
OutputStream os = response.getOutputStream();
baos.writeTo(os);
os.flush();
os.close();
关闭后document.close();
每http://itextpdf.com/examples/iia.php?id=173您忘记设置内容长度,请尝试添加响应。setContentLength(bas.size())
beforeServletOutputStream out=响应。getOutputStream()
问题内容: 在Mac上的FireFox中,该圆圈是圆形/实心的。我希望它是虚线或虚线。 使它变得更奇怪的是,相同的属性(即)在HR上可以正常工作。那么,当涉及边界半径时,为什么它不起作用? 这对我来说很奇怪。 问题答案: 这是一个错误,WebKit也有类似的问题,但已在6月修复。 这是Firefox中所有其他突出的边界半径缺陷。
目前我们正在使用Aspose。NET库生成excel并导出为PDF。pdf由多种语言组成,如英语、汉语和泰米尔语。对于英语和汉语来说,这很好,但对于泰米尔语来说,它有拼写问题。 例如, "போல்" 的第一个和第二个字母将翻转。 我们尝试了“Latha”字体和“Arial Unicode MS”字体,文本显示,但字母翻转。我们也尝试过“InaiMathi”字体,但文本没有显示出来。 我也尝试使用不
我正在用apache fop库(v2.2)生成PDF文件。如果我从Eclipse IDE运行应用程序,所有运行都没有问题,但是如果我从Eclipse IDE生成JAR,并且库处理设置为将所需的库提取到生成的JAR中,然后我将运行JAR,它将生成没有图像的PDF文件(文本如预期的那样可见)。首先我认为这是由无效的文件路径引起的,但是如果我直接在XSL中使用base64编码的图像,图像仍然不可见。如果
问题1我创建了一个文本字段,如上面的代码所示,并尝试使用TextBox.setValue(“测试值”)设置值;方法,但它给出的错误如下所示: 问题3 为了解决问题#2,我需要将NeedExceptions标志设置为true,如下所示,然后在PDF中正确显示该字段值。但是在这个解决方案之后,一旦用户改变了字段值,我们再次解析这个PDF字段,我就无法提取/解析PDF字段。 注意:-这个问题存在于Ado
问题内容: 考虑这个JavaScript: 在Firefox的Firebug中,这显示了我的期望: 但是,在Safari和Chrome的控制台中,它显示: 换句话说,当打印转储时,对象在控制台中显示错误的属性,但是如果打印了特定的属性,则显示正确的值。 这是浏览器的怪癖吗?还是我所缺少的面向对象javascript的基本方面? 问题答案: 在Chrome浏览器(WebKit,也是Safari)中,
我有一个包含名称列表的XML文件,其中一些使用默认PDF字体(Helvetica/Arial)中未表示的字符/字形: 我正在使用XSLT和Apache FOP处理这个文件,以生成一个列出名称的PDF文件。目前,我在控制台上收到以下警告,在PDF中,汉字被替换为##: 我查看了文档,似乎可以选择以下选项: 使用OpenType字体——但FOP不支持这种字体 我不想为每种语言使用不同的字体,因为会有中