如何在UI <iframe>或<DIV>上渲染动态创建的PDF文件

时间:2017-09-28 02:19:16

标签: javascript java user-interface pdf iframe

我正在使用下面的代码,但是这个代码会在我的本地计算机上自动下载PDF文件。我不想,默认情况下要下载它。我想在UI或上显示pdf文件。

&#xA;&#xA;

response.setHeader(“Content-Disposition”,“attachment; filename = \”“+ reportFileName +”。pdf \“”);&#xA; response.setContentType(reportType.getContentType());

&#xA;&#xA;
  Document document = new Document();&#xA; PdfWriter writer = PdfWriter.getInstance(document,response.getOutputStream());&#xA;&#xA; LavanteReportFooter事件= new LavanteReportFooter();&#xA; writer.setPageEvent(事件); &#XA; document.open();&#XA;&#XA; PdfPTable table = new PdfPTable(reportColumnHeaders.size());&#xA; table.setWidthPercentage(100); //宽度100%&#xA; table.setSpacingBefore(10F); //表格前的空格&#xA; table.setSpacingAfter(10F); //桌子后面的空格&#xA;&#xA;字体pdfTitleFont = FontFactory.getFont(FontFactory.HELVETICA);&#xA; pdfTitleFont.setSize(12F);&#XA; pdfTitleFont.setStyle(Font.BOLD);&#XA;&#XA;段落pdfTitle = new段落(reportFileName,pdfTitleFont);&#xA; pdfTitle.setAlignment(Element.ALIGN_LEFT);&#XA;&#XA; PdfPCell pdfTitleCell = new PdfPCell(pdfTitle);&#xA; pdfTitleCell.setBackgroundColor(Color.WHITE);&#XA; pdfTitleCell.setHorizo​​ntalAlignment(Element.ALIGN_LEFT);&#XA; pdfTitleCell.setColspan(reportColumnHeaders.size());&#XA; pdfTitleCell.setBorder(Rectangle.NO_BORDER);&#XA;&#XA; table.addCell(pdfTitleCell);&#XA;&#XA; PdfPCell blankCell = new PdfPCell(new Paragraph(“”));&#xA; blankCell.setBackgroundColor(Color.WHITE);&#XA; blankCell.setHorizo​​ntalAlignment(Element.ALIGN_LEFT);&#XA; blankCell.setColspan(reportColumnHeaders.size());&#XA; blankCell.setBorder(Rectangle.NO_BORDER);&#XA;&#XA; table.addCell(blankCell);&#XA; table.addCell(blankCell);&#XA;&#XA; Font headerFont = FontFactory.getFont(FontFactory.HELVETICA);&#xA; headerFont.setSize(9F);&#XA;&#XA; for(String reportColumnHeader:reportColumnHeaders){&#xA; PdfPCell cell = new PdfPCell(new Paragraph(reportColumnHeader,headerFont));&#xA; cell.setPadding(4);&#XA; cell.setHorizo​​ntalAlignment(Element.ALIGN_LEFT);&#XA; cell.setVerticalAlignment(Element.ALIGN_MIDDLE);&#XA; cell.setBorderWidth(0.5F);&#XA; cell.setBorderColor(new Color(173,173,172));&#xA; cell.setBackgroundColor(new Color(247,247,253));&#xA; table.addCell(细胞);&#XA; }&#XA;&#XA;字体dateFont = FontFactory.getFont(FontFactory.HELVETICA);&#xA; dateFont.setSize(8F);&#XA;&#XA; table.setSplitRows(假);&#XA; table.setComplete(假);&#XA;&#XA; int rowNum = 1;&#xA;迭代&LT;列表与LT;字符串&GT;&GT; iterator = dataRows.iterator();&#xA; while(iterator.hasNext()){&#xA;&#xA; if(rowNum%200 == 0){&#xA; document.add(表);&#XA; }&#XA;&#XA;列表与LT; java.lang.String中&GT; row =(List&lt; java.lang.String&gt;)iterator.next();&#xA; for(String column:row){&#xA; PdfPCell cell = new PdfPCell(new Paragraph(column,dateFont));&#xA; if(rowNum%2 == 0){&#xA; cell.setBackgroundColor(new Color(247,247,253));&#xA; }其他{&#XA; cell.setBackgroundColor(Color.WHITE);&#XA; }&#XA; cell.setPadding(4F);&#XA; cell.setBorderWidth(0.5F);&#XA; cell.setBorderColor(new Color(173,173,172));&#xA; cell.setHorizo​​ntalAlignment(Element.ALIGN_LEFT);&#XA; cell.setVerticalAlignment(Element.ALIGN_MIDDLE);&#XA; table.addCell(细胞);&#XA; }&#XA; row.clear();&#XA; iterator.remove();&#XA; rowNum = rowNum +1;&#xA; }&#XA;&#XA; table.setComplete(真);&#XA; document.add(表);&#XA; document.close();&#XA; writer.close();&#XA; }&#XA;  
&#XA;

0 个答案:

没有答案