List of usage examples for com.lowagie.text.pdf PdfWriter PageModeUseOutlines
int PageModeUseOutlines
To view the source code for com.lowagie.text.pdf PdfWriter PageModeUseOutlines.
Click Source Link
From source file:questions.stamppages.BookmarksToTOC1.java
@SuppressWarnings("unchecked") public static void main(String[] args) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try {//from w w w .j av a 2s. c o m Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, baos); writer.setViewerPreferences(PdfWriter.PageModeUseOutlines); writer.setPageEvent(new ParagraphBookmarkEvents(false)); document.open(); BufferedReader reader = new BufferedReader(new FileReader(RESOURCE)); String line; Paragraph p; while ((line = reader.readLine()) != null) { p = new Paragraph(line); p.setAlignment(Element.ALIGN_JUSTIFIED); document.add(p); document.add(Chunk.NEWLINE); } reader.close(); document.close(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } try { PdfReader reader = new PdfReader(baos.toByteArray()); Rectangle rect = reader.getPageSizeWithRotation(1); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); stamper.insertPage(1, rect); ColumnText column = new ColumnText(stamper.getOverContent(1)); column.setSimpleColumn(rect.getLeft(36), rect.getBottom(36), rect.getRight(36), rect.getTop(36)); column.addElement(new Paragraph("TABLE OF CONTENTS")); List<Map> list = SimpleBookmark.getBookmark(reader); Chunk link; PdfAction action; String info; int p = 1; float y = 10; for (Map<String, String> bookmark : list) { link = new Chunk(bookmark.get("Title")); info = bookmark.get("Page"); p = Integer.parseInt(info.substring(0, info.indexOf(' '))); y = Float.parseFloat(info.substring(info.lastIndexOf(' ') + 1) + "f"); action = PdfAction.gotoLocalPage(p, new PdfDestination(PdfDestination.FITH, y), stamper.getWriter()); link.setAction(action); column.addElement(new Paragraph(link)); } column.go(); stamper.close(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } }
From source file:questions.stamppages.BookmarksToTOC2.java
@SuppressWarnings("unchecked") public static void main(String[] args) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try {/* www . j a va 2s. c o m*/ Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, baos); writer.setViewerPreferences(PdfWriter.PageModeUseOutlines); writer.setPageEvent(new ParagraphBookmarkEvents(true)); document.open(); BufferedReader reader = new BufferedReader(new FileReader(RESOURCE)); String line; Paragraph p; while ((line = reader.readLine()) != null) { p = new Paragraph(line); p.setAlignment(Element.ALIGN_JUSTIFIED); document.add(p); document.add(Chunk.NEWLINE); } reader.close(); document.close(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } try { PdfReader reader = new PdfReader(baos.toByteArray()); Rectangle rect = reader.getPageSizeWithRotation(1); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); stamper.insertPage(1, rect); ColumnText column = new ColumnText(stamper.getOverContent(1)); column.setSimpleColumn(rect.getLeft(36), rect.getBottom(36), rect.getRight(36), rect.getTop(36)); column.addElement(new Paragraph("TABLE OF CONTENTS")); List<Map> list = SimpleBookmark.getBookmark(reader); Chunk link; String dest; for (Map<String, String> bookmark : list) { link = new Chunk(bookmark.get("Title")); dest = bookmark.get("Named"); link.setAction(PdfAction.gotoLocalPage(dest, false)); column.addElement(new Paragraph(link)); } column.go(); stamper.close(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } }
From source file:webBoltOns.server.reportWriter.JRivetWriter.java
License:Open Source License
/** * <h2><code>buildReport</code></h2> * //from w ww . ja v a 2s.c o m * <p> * Create the PDF report * </p> * * @param ServletRequest request - the HTTP request * @param ServletResponse response - the HTTP respones * */ private void buildReport(ServletRequest request, ServletResponse response, DataSet reportTable) { try { rowCount = 999; totalRows = 0; document = new Document(PageSize.LEGAL.rotate()); document.setMargins(8.0f, 8.0f, 8.0f, 18.0f); outputStream = new ByteArrayOutputStream(); writer = PdfWriter.getInstance(document, outputStream); writer.setViewerPreferences(PdfWriter.PageModeUseOutlines); buildReportTitles(reportTable); document.open(); contentByte = writer.getDirectContent(); root = new PdfOutline(contentByte.getRootOutline(), new PdfDestination(PdfDestination.FIT), "Report"); topA.setOutline(root); ResultSet resultSet; Statement statement = dataAccess.execConnectReadOnly(); sql = new StringBuffer(reportTable.getStringField(ReportColumn.SQL_QUERY)); sql = DataSet.removeFormat(sql, "\n"); sql = DataSet.removeFormat(sql, "\t"); Enumeration parameters = request.getParameterNames(); while (parameters.hasMoreElements()) { String p = (String) parameters.nextElement(); String v = request.getParameter(p); if (!p.equals("ReportScript") && !p.equals("") && !v.equals("")) sql = mergeTagValues(sql, p, v); } resultSet = statement.executeQuery(sql.toString().trim()); String[] record = new String[reportColumns.length]; while (resultSet.next()) { for (int c = 0; c < reportColumns.length; c++) { ReportColumn column = (ReportColumn) reportColumns[c]; String value = (String) DataAccess.getFieldValue(resultSet, column.getFeildName(), column.getDataType()); record[c] = formatField(value, column.getDataType(), column.getDecimals()); } topA.recursiveLevelBreaks(record); buildDetilLine(record); accumulateReportTotals(record); totalRows++; } if (totalRows == 0) { buildEmptyPage(request, response); } else { topA.fireGrandTotalBreak(); resultSet.close(); dataAccess.execClose(statement); document.add(reportBody); document.close(); buildPDFReportPage(request, response, outputStream.toByteArray()); } } catch (DocumentException e) { gs.log("** DocumentException: " + e); buildErrorPage(request, response, e.toString()); } catch (IOException e) { gs.log("** IOException: " + e); buildErrorPage(request, response, e.toString()); } catch (Exception e) { gs.log("** Exception: " + e); buildErrorPage(request, response, e.toString()); } }