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:jPDFmelange.MelangeJFrame.java
License:Open Source License
/** * This method reads the properties file "melange.rc" located in "user.dir". *///w w w . j a v a2s .c o m private void getProperties() { String propertyStr = null; int propertyInt = -1; try { Properties melangeProperties = new Properties(); // Java > java 1.4 we can use a FileReader //Reader propInFile = new FileReader(propertiesFileName); // for Java == java 1.4 we need a InputStream FileInputStream propInFile = new FileInputStream(propertiesFileName); melangeProperties.load(propInFile); melangeProperties.list(System.out); // Get property ShowMoveButtons propertyStr = melangeProperties.getProperty("ShowButtonsPanel", String.valueOf(showButtonsPanel)); // OK, for Java <= 1.4 there is no Boolean.parseBoolean(String) //showButtonsPanel = Boolean.parseBoolean(propertyStr); showButtonsPanel = propertyStr.equalsIgnoreCase("true"); // Get the property IconHeight, check limits. propertyStr = melangeProperties.getProperty("IconHeight", String.valueOf(iconHeight)); propertyInt = Integer.parseInt(propertyStr); if (propertyInt < 500 || propertyInt > 0) iconHeight = propertyInt; // Get the property ImageScalingAlgorithm, check limits. propertyStr = melangeProperties.getProperty("ImageScalingAlgorithm", String.valueOf(imageScalingAlgorithm)); propertyInt = Integer.parseInt(propertyStr); if (propertyInt == BufferedImage.SCALE_FAST || propertyInt == BufferedImage.SCALE_SMOOTH || propertyInt == BufferedImage.SCALE_REPLICATE || propertyInt == BufferedImage.SCALE_AREA_AVERAGING) imageScalingAlgorithm = propertyInt; // Get the property local. String languageStr = melangeProperties.getProperty("LocaleLanguage", locale.getLanguage()); String countryStr = melangeProperties.getProperty("LocaleCountry", locale.getCountry()); String variantStr = melangeProperties.getProperty("LocaleVariant", locale.getVariant()); locale = new Locale(languageStr, countryStr, variantStr); // Get the property enablePDFPreferences propertyStr = melangeProperties.getProperty("enablePDFPreferences", String.valueOf(enablePDFPreferences)); enablePDFPreferences = propertyStr.equalsIgnoreCase("true"); // Get the property prefPageMode, check limits. propertyStr = melangeProperties.getProperty("prefPageMode", prefPageMode); if (MelangeJFrame.PageMode.containsKey(propertyStr)) { propertyInt = MelangeJFrame.PageMode.get(propertyStr); if (propertyInt == PdfWriter.PageModeFullScreen || propertyInt == PdfWriter.PageModeUseAttachments || propertyInt == PdfWriter.PageModeUseNone || propertyInt == PdfWriter.PageModeUseOC || propertyInt == PdfWriter.PageModeUseOutlines || propertyInt == PdfWriter.PageModeUseThumbs) prefPageMode = propertyStr; } // Get the property prefPageLayout, check limits. propertyStr = melangeProperties.getProperty("prefPageLayout", prefPageLayout); if (MelangeJFrame.PageLayout.containsKey(propertyStr)) { propertyInt = MelangeJFrame.PageLayout.get(propertyStr); if (propertyInt == PdfWriter.PageLayoutOneColumn || propertyInt == PdfWriter.PageLayoutSinglePage || propertyInt == PdfWriter.PageLayoutTwoColumnLeft || propertyInt == PdfWriter.PageLayoutTwoColumnRight || propertyInt == PdfWriter.PageLayoutTwoPageLeft || propertyInt == PdfWriter.PageLayoutTwoPageRight) prefPageLayout = propertyStr; } // Get the property prefHideToolbar propertyStr = melangeProperties.getProperty("prefHideToolbar", String.valueOf(prefHideToolbar)); prefHideToolbar = propertyStr.equalsIgnoreCase("true"); // Get the property prefHideMenubar propertyStr = melangeProperties.getProperty("prefHideMenubar", String.valueOf(prefHideMenubar)); prefHideMenubar = propertyStr.equalsIgnoreCase("true"); // Get the property prefHideWindowUI propertyStr = melangeProperties.getProperty("prefHideWindowUI", String.valueOf(prefHideWindowUI)); prefHideWindowUI = propertyStr.equalsIgnoreCase("true"); // Get the property prefFitWindow propertyStr = melangeProperties.getProperty("prefFitWindow", String.valueOf(prefFitWindow)); prefFitWindow = propertyStr.equalsIgnoreCase("true"); // Get the property prefCenterWindow propertyStr = melangeProperties.getProperty("prefCenterWindow", String.valueOf(prefCenterWindow)); prefCenterWindow = propertyStr.equalsIgnoreCase("true"); // Get the property prefDisplayDocTitle propertyStr = melangeProperties.getProperty("prefDisplayDocTitle", String.valueOf(prefDisplayDocTitle)); prefDisplayDocTitle = propertyStr.equalsIgnoreCase("true"); } catch (NumberFormatException e) { System.err.println("Incorrect formatting in " + propertiesFileName); } catch (FileNotFoundException e) { System.err.println("Can't find " + propertiesFileName); } catch (IOException e) { System.err.println("I/O failed."); } }
From source file:org.eclipse.birt.report.engine.emitter.pdf.PDFPageDevice.java
License:Open Source License
public void createTOC(Set<String> bookmarks) { // we needn't create the TOC if there is no page in the PDF file. // the doc is opened only if the user invokes newPage. if (!doc.isOpen()) { return;// w w w. j a v a 2s. com } if (bookmarks.isEmpty()) { writer.setViewerPreferences(PdfWriter.PageModeUseNone); return; } ULocale ulocale = null; Locale locale = context.getLocale(); if (locale == null) { ulocale = ULocale.getDefault(); } else { ulocale = ULocale.forLocale(locale); } // Before closing the document, we need to create TOC. ITOCTree tocTree = report.getTOCTree("pdf", //$NON-NLS-1$ ulocale); if (tocTree == null) { writer.setViewerPreferences(PdfWriter.PageModeUseNone); } else { TOCNode rootNode = tocTree.getRoot(); if (rootNode == null || rootNode.getChildren().isEmpty()) { writer.setViewerPreferences(PdfWriter.PageModeUseNone); } else { writer.setViewerPreferences(PdfWriter.PageModeUseOutlines); TOCHandler tocHandler = new TOCHandler(rootNode, writer.getDirectContent().getRootOutline(), bookmarks); tocHandler.createTOC(); } } }
From source file:org.pdfsam.console.business.parser.validators.SetViewerCmdValidator.java
License:Open Source License
/** * // w w w . j a v a 2s . c o m * @param mode * @return The mode to iText */ private int getMode(String mode) { int retVal = PdfWriter.PageModeUseNone; if (SetViewerParsedCommand.M_ATTACHMENTS.equals(mode)) { retVal = PdfWriter.PageModeUseAttachments; } else if (SetViewerParsedCommand.M_FULLSCREEN.equals(mode)) { retVal = PdfWriter.PageModeFullScreen; } else if (SetViewerParsedCommand.M_OCONTENT.equals(mode)) { retVal = PdfWriter.PageModeUseOC; } else if (SetViewerParsedCommand.M_OUTLINES.equals(mode)) { retVal = PdfWriter.PageModeUseOutlines; } else if (SetViewerParsedCommand.M_THUMBS.equals(mode)) { retVal = PdfWriter.PageModeUseThumbs; } return retVal; }
From source file:org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.internal.PdfDocumentWriter.java
License:Open Source License
/** * Extracts the Page Layout and page mode settings for this PDF (ViewerPreferences). All preferences are defined as * properties which have to be set before the target is opened. * * @return the ViewerPreferences.// ww w. j av a 2s .co m */ private int getViewerPreferences() { final String pageLayout = config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PageLayout"); final String pageMode = config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PageMode"); final String fullScreenMode = config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.FullScreenMode"); final boolean hideToolBar = "true".equals(config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.HideToolBar")); final boolean hideMenuBar = "true".equals(config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.HideMenuBar")); final boolean hideWindowUI = "true".equals(config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.HideWindowUI")); final boolean fitWindow = "true".equals(config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.FitWindow")); final boolean centerWindow = "true".equals(config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.CenterWindow")); final boolean displayDocTitle = "true".equals(config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.DisplayDocTitle")); final boolean printScalingNone = "true".equals(config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PrintScalingNone")); final String direction = config.getConfigProperty( "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.Direction"); int viewerPreferences = 0; if ("PageLayoutOneColumn".equals(pageLayout)) { viewerPreferences = PdfWriter.PageLayoutOneColumn; } else if ("PageLayoutSinglePage".equals(pageLayout)) { viewerPreferences = PdfWriter.PageLayoutSinglePage; } else if ("PageLayoutTwoColumnLeft".equals(pageLayout)) { viewerPreferences = PdfWriter.PageLayoutTwoColumnLeft; } else if ("PageLayoutTwoColumnRight".equals(pageLayout)) { viewerPreferences = PdfWriter.PageLayoutTwoColumnRight; } else if ("PageLayoutTwoPageLeft".equals(pageLayout)) { viewerPreferences = PdfWriter.PageLayoutTwoPageLeft; } else if ("PageLayoutTwoPageRight".equals(pageLayout)) { viewerPreferences = PdfWriter.PageLayoutTwoPageRight; } if ("PageModeUseNone".equals(pageMode)) { viewerPreferences |= PdfWriter.PageModeUseNone; } else if ("PageModeUseOutlines".equals(pageMode)) { viewerPreferences |= PdfWriter.PageModeUseOutlines; } else if ("PageModeUseThumbs".equals(pageMode)) { viewerPreferences |= PdfWriter.PageModeUseThumbs; } else if ("PageModeFullScreen".equals(pageMode)) { viewerPreferences |= PdfWriter.PageModeFullScreen; if ("NonFullScreenPageModeUseNone".equals(fullScreenMode)) { viewerPreferences = PdfWriter.NonFullScreenPageModeUseNone; } else if ("NonFullScreenPageModeUseOC".equals(fullScreenMode)) { viewerPreferences |= PdfWriter.NonFullScreenPageModeUseOC; } else if ("NonFullScreenPageModeUseOutlines".equals(fullScreenMode)) { viewerPreferences |= PdfWriter.NonFullScreenPageModeUseOutlines; } else if ("NonFullScreenPageModeUseThumbs".equals(fullScreenMode)) { viewerPreferences |= PdfWriter.NonFullScreenPageModeUseThumbs; } } else if ("PageModeUseOC".equals(pageMode)) { viewerPreferences |= PdfWriter.PageModeUseOC; } else if ("PageModeUseAttachments".equals(pageMode)) { viewerPreferences |= PdfWriter.PageModeUseAttachments; } if (hideToolBar) { viewerPreferences |= PdfWriter.HideToolbar; } if (hideMenuBar) { viewerPreferences |= PdfWriter.HideMenubar; } if (hideWindowUI) { viewerPreferences |= PdfWriter.HideWindowUI; } if (fitWindow) { viewerPreferences |= PdfWriter.FitWindow; } if (centerWindow) { viewerPreferences |= PdfWriter.CenterWindow; } if (displayDocTitle) { viewerPreferences |= PdfWriter.DisplayDocTitle; } if (printScalingNone) { viewerPreferences |= PdfWriter.PrintScalingNone; } if ("DirectionL2R".equals(direction)) { viewerPreferences |= PdfWriter.DirectionL2R; } else if ("DirectionR2L".equals(direction)) { viewerPreferences |= PdfWriter.DirectionR2L; } if (logger.isDebugEnabled()) { logger.debug("viewerPreferences = 0b" + Integer.toBinaryString(viewerPreferences)); } return viewerPreferences; }
From source file:org.schreibubi.JCombinations.ui.GridChartPanel.java
License:Open Source License
/** * Create PDF//from w w w .j ava 2 s .c om * * @param name * Filename * @param selection * Selected Nodes * @param dm * DataModel * @param pl * ProgressListener */ @SuppressWarnings("unchecked") public static void generatePDF(File name, DataModel dm, ArrayList<TreePath> selection, ProgressListener pl) { com.lowagie.text.Document document = new Document(PageSize.A4.rotate(), 50, 50, 50, 50); try { ArrayList<ExtendedJFreeChart> charts = dm.getCharts(selection); if (charts.size() > 0) { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(name)); writer.setViewerPreferences(PdfWriter.PageModeUseOutlines); document.addAuthor("Jrg Werner"); document.addSubject("Created by JCombinations"); document.addKeywords("JCombinations"); document.addCreator("JCombinations using iText"); // we define a header and a footer HeaderFooter header = new HeaderFooter(new Phrase("JCombinations by Jrg Werner"), false); HeaderFooter footer = new HeaderFooter(new Phrase("Page "), new Phrase(".")); footer.setAlignment(Element.ALIGN_CENTER); document.setHeader(header); document.setFooter(footer); document.open(); DefaultFontMapper mapper = new DefaultFontMapper(); FontFactory.registerDirectories(); mapper.insertDirectory("c:\\WINNT\\fonts"); PdfContentByte cb = writer.getDirectContent(); pl.progressStarted(new ProgressEvent(GridChartPanel.class, 0, charts.size())); for (int i = 0; i < charts.size(); i++) { ExtendedJFreeChart chart = charts.get(i); PdfTemplate tp = cb.createTemplate(document.right(EXTRA_MARGIN) - document.left(EXTRA_MARGIN), document.top(EXTRA_MARGIN) - document.bottom(EXTRA_MARGIN)); Graphics2D g2d = tp.createGraphics(document.right(EXTRA_MARGIN) - document.left(EXTRA_MARGIN), document.top(EXTRA_MARGIN) - document.bottom(EXTRA_MARGIN), mapper); Rectangle2D r2d = new Rectangle2D.Double(0, 0, document.right(EXTRA_MARGIN) - document.left(EXTRA_MARGIN), document.top(EXTRA_MARGIN) - document.bottom(EXTRA_MARGIN)); chart.draw(g2d, r2d); g2d.dispose(); cb.addTemplate(tp, document.left(EXTRA_MARGIN), document.bottom(EXTRA_MARGIN)); PdfDestination destination = new PdfDestination(PdfDestination.FIT); TreePath treePath = chart.getTreePath(); PdfOutline po = cb.getRootOutline(); for (int j = 0; j < treePath.getPathCount(); j++) { ArrayList<PdfOutline> lpo = po.getKids(); PdfOutline cpo = null; for (PdfOutline outline : lpo) if (outline.getTitle().compareTo(treePath.getPathComponent(j).toString()) == 0) cpo = outline; if (cpo == null) cpo = new PdfOutline(po, destination, treePath.getPathComponent(j).toString()); po = cpo; } document.newPage(); pl.progressIncremented(new ProgressEvent(GridChartPanel.class, i)); } document.close(); pl.progressEnded(new ProgressEvent(GridChartPanel.class)); } } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } }
From source file:org.xhtmlrenderer.pdf.ITextOutputDevice.java
License:Open Source License
private void writeOutline(RenderingContext c, Box root) { if (_bookmarks.size() > 0) { _writer.setViewerPreferences(PdfWriter.PageModeUseOutlines); writeBookmarks(c, root, _writer.getRootOutline(), _bookmarks); }//from www.ja v a2 s . c o m }
From source file:questions.importpages.ConcatenateMakeTOC.java
public static void main(String[] args) { Document document = new Document(); try {/*from www . j av a 2 s . c o m*/ PdfCopy copy = new PdfCopy(document, new FileOutputStream(RESULT)); copy.setViewerPreferences(PdfWriter.PageModeUseOutlines); document.open(); List<HashMap<String, Object>> bookmarks = new ArrayList<HashMap<String, Object>>(); List<HashMap<String, Object>> kids; PdfReader reader; int page = 1; for (int i = 0; i < 3; i++) { createPdf(i); HashMap<String, Object> titlepage = new HashMap<String, Object>(); titlepage.put("Title", String.format("Document %d", i + 1)); titlepage.put("Action", "GoTo"); titlepage.put("Page", String.format("%d Fit", page)); kids = new ArrayList<HashMap<String, Object>>(); reader = new PdfReader(RESULTS[i]); for (int j = 1; j <= reader.getNumberOfPages(); j++) { copy.addPage(copy.getImportedPage(reader, j)); HashMap<String, Object> kid = new HashMap<String, Object>(); kid.put("Title", String.format("Page %d in document %d", j, i + 1)); kid.put("Action", "GoTo"); kid.put("Page", String.format("%d FitH 806", page)); kids.add(kid); page++; } titlepage.put("Kids", kids); bookmarks.add(titlepage); } copy.setOutlines(bookmarks); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } document.close(); }
From source file:questions.importpages.ConcatenateWithTOC.java
public static void main(String[] args) { try {/* ww w . j a v a 2 s. c o m*/ // suppose we have some TEST PDF files for (int i = 0; i < TEST.length; i++) { createTestPdf(i); } // and we want to concatenate them Document document = new Document(); PdfCopy copy = new PdfCopy(document, new FileOutputStream(RESULT)); copy.setViewerPreferences(PdfWriter.PageModeUseOutlines); document.open(); // but we want to create an outline tree PdfOutline root = copy.getRootOutline(); // we also want an extra page with the file name Document coverpage; ByteArrayOutputStream baos; PdfReader reader; // we want to add page numbers too int pagenumber = 0; BaseFont bf = BaseFont.createFont(); for (int i = 0; i < TEST.length; i++) { // we create the coverpage in memory coverpage = new Document(); baos = new ByteArrayOutputStream(); PdfWriter.getInstance(coverpage, baos); coverpage.open(); coverpage.add(new Paragraph("file: " + TEST[i])); coverpage.close(); // we import that page reader = new PdfReader(baos.toByteArray()); pagenumber++; copy.addPage(getStampedPage(reader, copy, 1, pagenumber, bf)); // we create the bookmark to that page PdfDestination dest = new PdfDestination(PdfDestination.FIT); new PdfOutline(root, PdfAction.gotoLocalPage(pagenumber, dest, copy), TEST[i]); // we import the document itself reader = new PdfReader(TEST[i]); for (int j = 1; j <= reader.getNumberOfPages(); j++) { pagenumber++; copy.addPage(getStampedPage(reader, copy, j, pagenumber, bf)); } } document.close(); } catch (IOException ioe) { ioe.printStackTrace(); } catch (DocumentException de) { de.printStackTrace(); } }
From source file:questions.importpages.ConcatenateWithTOC2.java
public static void main(String[] args) { try {// www .jav a 2 s .c om // suppose we have some TEST PDF files for (int i = 0; i < TEST.length; i++) { createTestPdf(i); } // and we want to concatenate them Document document = new Document(); ByteArrayOutputStream os = new ByteArrayOutputStream(); PdfCopy copy = new PdfCopy(document, os); copy.setViewerPreferences(PdfWriter.PageModeUseOutlines); document.open(); // but we want to create an outline tree PdfOutline root = copy.getRootOutline(); // we also want an extra page with the file name Document coverpage; ByteArrayOutputStream baos; PdfReader reader; // we want keep track of the page numbers int pagenumber = 0; for (int i = 0; i < TEST.length; i++) { // we create the coverpage in memory coverpage = new Document(); baos = new ByteArrayOutputStream(); PdfWriter.getInstance(coverpage, baos); coverpage.open(); coverpage.add(new Paragraph("file: " + TEST[i])); coverpage.close(); // we import that page reader = new PdfReader(baos.toByteArray()); pagenumber++; copy.addPage(copy.getImportedPage(reader, 1)); // we create the bookmark to that page PdfDestination dest = new PdfDestination(PdfDestination.FIT); new PdfOutline(root, PdfAction.gotoLocalPage(pagenumber, dest, copy), TEST[i]); // we import the document itself reader = new PdfReader(TEST[i]); for (int j = 1; j <= reader.getNumberOfPages(); j++) { pagenumber++; copy.addPage(copy.getImportedPage(reader, j)); } } document.close(); // we want to add page X of Y reader = new PdfReader(os.toByteArray()); int n = reader.getNumberOfPages(); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); BaseFont bf = BaseFont.createFont(); for (int i = 1; i <= n; i++) { PdfContentByte canvas = stamper.getOverContent(i); canvas.beginText(); canvas.setFontAndSize(bf, 12); canvas.showTextAligned(Element.ALIGN_LEFT, "page " + i + " of " + n, 36, 26, 0); canvas.endText(); } stamper.close(); } catch (IOException ioe) { ioe.printStackTrace(); } catch (DocumentException de) { de.printStackTrace(); } }
From source file:questions.objects.ChaptersAndMemory.java
/** * Generates a PDF file with autonumbered chapters and an open bookmark tab * /*from ww w. j a v a 2s.c om*/ * @param args * no arguments needed here */ public static void main(String[] args) { // step 1: creation of a document-object Document document = new Document(); try { // step 2: // we create a writer PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); writer.setViewerPreferences(PdfWriter.PageModeUseOutlines); // step 3: we open the document document.open(); // step 4: we add a paragraph to the document Phrase text = new Phrase("Quick brown fox jumps over the lazy dog. "); ChapterAutoNumber chapter1 = new ChapterAutoNumber("This is a sample sentence:"); chapter1.setBookmarkTitle("The fox"); chapter1.setBookmarkOpen(false); chapter1.setComplete(false); Section section1 = chapter1.addSection("Quick"); section1.add(text); section1.add(text); section1.add(text); document.add(chapter1); Section section2 = chapter1.addSection("Fox"); section2.add(text); section2.setComplete(false); document.add(chapter1); section2.add(text); section2.add(text); section2.setComplete(true); chapter1.setComplete(true); document.add(chapter1); ChapterAutoNumber chapter2 = new ChapterAutoNumber("Jumps"); chapter2.setComplete(false); Section section = chapter2.addSection("Over"); section.setComplete(false); section.add(text); section.add(text); section.add(text); Section subsection1 = section.addSection("Lazy"); subsection1.setIndentationLeft(30); subsection1.add(text); subsection1.setComplete(false); document.add(chapter2); subsection1.add(text); subsection1.add(text); subsection1.add(text); subsection1.add(text); subsection1.setComplete(true); Section subsection2 = section.addSection("Dog"); subsection2.setIndentationRight(30); subsection2.add(text); subsection2.add(text); subsection2.add(text); subsection2.add(text); subsection2.add(text); Section subsection3 = section.addSection("Did you see it?"); subsection3.setIndentation(50); subsection3.add(text); subsection3.add(text); subsection3.add(text); subsection3.add(text); subsection3.add(text); section.setComplete(true); document.add(chapter2); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } // step 5: we close the document document.close(); }